-
Continuando con la serie de posts sobre la intercepción de llamadas a métodos (Aquí está el primero ) hoy le toca el turno a la programación orientada a aspectos , y ya que la seguridad se trata como un aspecto transversal (CrossCutting) a toda la aplicación...
-
Ayer a ráiz de un post de Javier Torrecilla salió una discursión acerca de como tratar el tema de la seguridad en nuestras aplicaciones. Javier hablaba sobre el uso la clase PrincipalPermission y mi comentario fue a la hora de ver que el código de Javier, mezclaba un tema...
-
Introducción En vista de que parece que el artículo que publique ayer sobre UoW , parecía que era demasiado simple…, y a pesar de que Lucas Ontivero ha publicado un ejemplo (Gracias), he decidido publicar un ejemplo un poco más amplio para ver su utilización...
-
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...
-
Definición Este patrón tiene como objetivo tratar como una Unidad todos aquellos objetos nuevos, modificados o eliminados con respecto de una fuente de datos. Martin Fowler, ya realizó una descripción de UoW en su libro “ Patterns of Enterprise Application Architecture...
-
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
-
Buenas! No soy ni mucho menos un experto en EF (es más, me acabo de poner), como pueda serlo p.ej. Unai , pero desde que Scott Guthrie publicó un post sobre EF Code First he empezado a mirar algunas cosillas. Resumiendo rápidamente EF Code First nos permite desarrollar nuestra capa de acceso a datos...
-
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
-
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