-
El principal problema en la implementación de un API es el versionado de este para que aplicaciones antiguas o que no tenemos nosotros el control no dejen de funcionar. El pensar que una aplicación no va a evolucionar a lo largo del tiempo es una quimera, y dentro de poco o mucho al final acaba por evolucionar...
-
Un patrón bastante extendido cuando desarrollamos código en JavaScript es el Revealing Module Pattern para poder establecer ámbito sobre ciertas partes de nuestro módulo. Quien más quien menos que desarrolle en JavaScript (y no esté en una cueva) ha oído hablar de él así que no vamos a hacer un análisis...
-
Como he visto que existen dudas sobre como implementar la navegación en el patrón MVVM (Model – View – ViewModel) separando en varios proyectos el View y el ViewModel. Para ello voy a exponer una forma de hacerlo que creo que es la que mejor se adapta a este escenario. El problema de la navegación radica...
-
@Ayende ha comenzado una serie de post en lo que revisa algunos patrones de diseño (Go4) luego de transcurridos más de 18 años desde su formalización en el libro Design Patterns: Elements of Reusable Object-Oriented Software . Inspirado por esa serie, y por el hecho de que en mi última entrevista...
-
Por qué es necesario empujar tantos conceptos a la infaestructura como sea posible.
-
Esta es seguramente la última entrada sobre excepciones en la que explico el rol de la interfaces (con el usuario u otro tipo de clientes) en la captura, tratamiento y traducción de las excepciones.
-
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....
-
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...
-
Sin duda la expresividad, la facilidad para leerlo y tener clara su intención y efectos sobre el sistema, es una de las características más importantes del código. Si por algo son interesantes las interfaces fluentes son por que aumentan extraordinariamente. Los primeros en describir formalmente esta...
-
Hoy, martes 12 de octubre de 2010 presentaré la segunda sesión de una serie de 3 en un workshop sobre “Desarrollo ágil de software en .NET”. Esta sesión se podrá atender tanto presencial como virtualmente. Este evento se realizará en las instalaciones...
Enviado a
Blog de Jorge Gamba
por
Jorge Gamba
a fecha de
12/10/2010
Archivado en:
Archivado en: Eventos,Inyección de Dependencias,IoC,Agile,Patrones,Implementación,Diseño,Principios,Prácticas recomendadas,Microsoft,Arquitectura,Presentaciones
-
Hoy sábado 18 de Septiembre de 2010 a las 18:00 UTC/GMT (meridiano 0) o 20:00 CET, la comunidad ALT.NET Hispano ha organizado una VAN (Webinar) que tendrá una duración aproximada de 2 horas, vía http://snipr.com/virtualaltnet . El tema a tratar en esta ocasión será...
-
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