-
Cuando usamos ASP.MVC uno de los patrones que debemos respetar es el de “Un modelo entra, un modelo sale” y otro muy común es el de validar el modelo y si este no es válido devolverle la misma vista al usuario para que corrija los datos de entrada. Por esto es común ver el siguiente patrón: ¿Qué está...
-
En este video explico el por qué un ejemplo tomado del MSDN está mal y cómo debería de escribirse en cuanto a la manera en que trata las excepciones.
-
Soy un convencido de que muchos de los malentendidos que existen en cuanto al manejo de excepciones en VB.Net y C# es por culpa de los malos ejemplos que siempre ha tenido el MSDN. Con solo invertir un par de segundos en google uno puede encontrar verdaderas aberraciones.. A modo de ejemplo solo pondré...
-
Les dejo la tercera entrega de la serie sobre excepciones. Saludos
-
Luego de revisar los requerimientos de la aplicación en la que vengo trabajado estos últimos 6 meses, tuve que pensar cómo plantear la arquitectura de la misma teniendo en cuenta lo siguiente: La aplicación es muy muy muy grande, eso era lo primero que saltaba a la vista en los requerimientos....
-
Les dejo la segunda entrega de la serie que estoy desarrollando para el equipo de desarrollo en el cual trabajo. Saludos
-
Les dejo el primero de una serie de videos sobre excepciones que estoy creando para el equipo de desarrollo al que pertenezco. Espero les guste. Saludos
-
Leyendo el artículo de Javier Torrecilla Patrón Unit of Work (UoW) o Unidad de Trabajo me acordé que en 2007 había escrito sobre este patrón y quiero rescatarlo aquí: Este es uno de los patrones más útiles (desde mi punto de vista) con que me he encontrado en el libro " Patterns of...
-
En mi anterior entrada mostraba distintas alternativas que podíamos utilizar para volver al siguiente fragmento de código fácilmente testeable. Obviamente existe una infinidad de alternativas que no he abordado como los frameworks de aislamiento, los servidores de smtp que no envían los mails y muchas...
-
Veamos el siguiente código: Lo que buscamos crear al menos una prueba unitaria para este. ¿Cómo lo hacemos?. Bueno, antes quiero plantear algunos supuestos: Si bien parece un TransactionScript, hagamos de cuenta que no lo es. El hecho de tener solo un método y ningún campo, propiedad o evento es solo...
-
La creación de pruebas unitarias requiere al menos lo siguiente: Un framework de pruebas unitarias que debemos dominar. Por lo general son muy simples. Código testeable. Típicamente esto implica código susceptible de ser “aislado”. Nada que decir con respecto al primer punto. Ahora, en cuanto al segundo...
-
Si el compilador de C# pudiera utilizarse como cualquier assembly, podríamos generar código y compilarlo en tiempo de ejecución. Con esto, muchas de las cosas que hoy hacemos mediante CodeDom o Expression trees, las podríamos hacer simplemente concatenando strings (hay maneras mejores). Por ejemplo,...
-
Pensaba acerca de las cosas que podríamos hacer si el compilador de C# fuese un assembly reutilizable (Compilar as a service). Lo primero, y menos original, que se me ocurrió es que podríamos tener algo como JSON pero para C# en lugar de Java Script. 1: class Program 2: { 3: static void Main( string...
-
Desarrollo un sistema para la planificación, ejecución y seguimiento de encuestas en el que uno de los requerimientos es poder crear encuestas de manera sencilla y veloz. Además las mismas deben seguir un workflow (algo informal) de revisión. Otro dato importante es que el cliente diseña encuestas que...
Enviado a
Lucas Ontivero
por
Lucas Ontivero
a fecha de
27/8/2010
Archivado en:
Archivado en: Software Factories,Patterns,Arquitectura,Diseño,.Net,Languages,Gestión de proyectos,Patrones,Desarrollo,Conceptos,C#,Productividad
-
Una de las características más importante que debe seguir cualquier código y que es particularmente importante en las pruebas de cualquier tipo es la claridad. Una prueba debe entenderse a la primera sin demasiado esfuerzo, por eso es que debe ser breve, clara y desprovista en el mayor grado posible...
-
En mi entrada Fluent Interfaces y TDD presentaba una prueba de concepto sobre un DSL interno que estaba desarrollando para encapsular varios detalles de la manipulación de documentos en el proyecto en el que trabajo actualmente. Luego de avanzar un tanto me doy con un problema muy común en la mayoría...
Enviado a
Lucas Ontivero
por
Lucas Ontivero
a fecha de
16/8/2010
Archivado en:
Archivado en: Software Factories,Patterns,Arquitectura,Diseño,.Net,Languages,Patrones,Desarrollo,Conceptos,C#,Productividad
-
Hoy todos reconocemos el potencial que tiene (LOP) Language Oriented Programming, pero no solo eso sino que muchos ya están invirtiendo para hacerse con las ventajas prometidas por este paradigma(?). Muchos incluso diseñan la sintaxis de aquellos lenguajes que entienden, pueden hacerles alcanzar la productividad...
Enviado a
Lucas Ontivero
por
Lucas Ontivero
a fecha de
16/8/2010
Archivado en:
Archivado en: Software Factories,Patterns,Arquitectura,Diseño,.Net,Languages,Investigaciones,Patrones,Desarrollo,Conceptos,C#,Productividad
-
Imagina que encontramos un clase estática con varios métodos estáticos los cuales tienen una cantidad aberrante de parámetros. Queremos eliminarla pero nos damos con que está siendo usada en muchísimas partes ¿que hacemos? ¿Como lo harias vos?. Para hablar más concretamente veamos uno de esos métodos...
Enviado a
Lucas Ontivero
por
Lucas Ontivero
a fecha de
14/8/2010
Archivado en:
Archivado en: Patterns,Arquitectura,Diseño,.Net,Languages,Patrones,Desarrollo,Conceptos,C#,XP,TDD,Refactoring
-
Desarrollar con TDD al principio no es nada fácil pero luego se vuelve “la manera” de desarrollar. Ahora, no siempre hago TDD, si quiero probar algo tan solo tiro las lineas y listo pero, por otro lado, si quiero hacer algo bien por más que tenga algo de código hecho lo tiro y lo comienzo de nuevo con...
Enviado a
Lucas Ontivero
por
Lucas Ontivero
a fecha de
13/8/2010
Archivado en:
Archivado en: Patterns,Arquitectura,Diseño,.Net,Languages,Patrones,Desarrollo,Conceptos,C#,XP,TDD
-
Intro Como ya sabemos, un DSL es un lenguaje de programación que se construye para atacar una familia de problemas que se presentan habitualmente en un dominio particular. Aunque su denominación actual (DSL) es relativamente nueva, estos han sido utilizados desde siempre, en particular...
Enviado a
Lucas Ontivero
por
Lucas Ontivero
a fecha de
14/2/2010
Archivado en:
Archivado en: Patterns,Arquitectura,Diseño,.Net,Languages,Investigaciones,Patrones,Desarrollo,Conceptos,C#,Productividad