Aprendiendo a usar frameworks, desde adentro
En estos días, en el desarrollo de aplicaciones, es muy común usar frameworks que nos ayuda a resolver un problema en particular. Inclusive existen frameworks que resuelven necesidades similares entre sí. Estas piezas de software quizás a parte de solucionar problemas, cubren alguna carencia en el “foundation”, lease: el framework base (.Net Framework 2.0, J2SE, entre otros). Esta carencia por lo general se transforman en alguna clase o un conjunto de clases que funcionan orquestadas con un fin.
Una de las ventajas que el open-source nos brinda es la posibilidad de tener el control sobre el código. Usamos el código que miles de programadores en el mundo lo dejan a nuestra disposición.
Hablando de .Net ó Java, enumeremos algunos frameworks open source, sin orden particular, solamente son los que estoy recordando en este momento: NUnit, Moq, NHibernate, Castle Project: Monorail, Windsor, Microkernel, ActiveRecord, log4net, Db4o, XUnit, Enterprise Library, SeamFramework, NakedObjects, Spring entre otros.
Seguro que estarán familiarizados con muchos de ellos, seguramente muchos de ellos son usados por Uds. todos los días.
Alguna vez se pusieron a ver el código de ellos? Les recomiendo que lo hagan, es un buen ejercicio. Mirar código realizado por otro programador puede ayudar a aprender, ordenar ideas, obtener otros puntos de vista, entre otras virtudes.
Vamos a un ejemplo, de una librería que uso y conozco como para poder opinar: NHibernate. Que podríamos obtener de NHibernate y que lo podemos llevar a nuestro código?
Nombremos algunas clases o conjunto de clases útiles que podemos usar en nuestro código (solamente enumeraré algunas):
- StringTokenizer: port del StringTokenizer de Java.
- ReflectorOptimizer (bajo namespace NHibernate.Bytecode).
- SimpleMRUCache: Caché que mantenida por un algoritmo Most Recently Used.
- ReflectHelper: servicios de reflection.
- ThreadSafeDictionary (los muchachos que hicieron el .Net Framework 2.0 se durmieron al no incluir una clase similar, por suerte se dieron cuenta en el 3.0 hay collections, dictionaries thread-safe).
Estos items son solamente para tentarlos a que investiguen más y vean que pueden encontrar. Un punto a considerar, es que NHibernate se trata de un port (con features propias) de Hibernate -Java-, entonces quizás encuentren clases que se necesitaron portar por no estar presentes (con algún substituto) en .Net Framework. Si analizan Spring.Net desde adentro, se van a encontrar con sorpresas: no solamente fueron portadas clases, sino frameworks completos de J2SE.
En otros post analizaremos algunas consideraciones de diseño, o quizás algunos patrones de algún framework en particular, siempre hay algo para aprender.
3 Responses to Aprendiendo a usar frameworks, desde adentro
Leave a Reply Cancel reply
-
Categories
- .NET
- ActiveRecord
- agil
- Alt.Net
- AOP
- Asp.net MVC
- blog
- C#
- codegeneration
- cosas interesantes
- db4o
- db4o-analyzer
- DLR
- enterprise-library
- expresiones regulares
- General
- Hibernate
- IoC
- it
- Java
- LINQ
- Linux
- Lucene
- Mocking
- Mono
- monosms
- MVC
- NAnt
- NHibernate
- NHibernate.Burrow
- NHibernate.Contrib
- NHibernate.Validator
- noticias
- O/R Mapping
- Open Source
- patrones
- personal
- podcast
- programación
- Redes Neuronales
- Refactoring
- regex
- Scrum
- Security
- Shards
- Sin Categoría
- Spring
- SqlServer
- Testing
- tips
- Tool
- tutorial
- Ubuntu
- uNHAddIns
- video
- Virtualización
- Visual Basic.Net
- Visual Studio
- VMWare
- Web
-
Articles
- June 2011
- May 2011
- November 2009
- October 2009
- April 2009
- March 2009
- February 2009
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- March 2006
- February 2006
- December 2005
- November 2005
- October 2005
-
Meta





“En otros post analizaremos algunas consideraciones de diseño, o quizás algunos patrones de algún framework en particular, siempre hay algo para aprender.”
Sería buenísimo ver cómo abordar el análisis de un framework en particular. Si te parece bien quizás estaría bueno comenzar por alguno simple como para después encarar otros más complejos. No sé, por ejemplo para mi NHibernate me resulta complejo. Pero muy interesante para las capacidades que tiene.
Saludos Dario y felicitaciones por el Blog.
Oscar R. Onorato
Hola dario, muy interesante tu post yo creo que si nos serviria mucho que llevaramos esa practica de vez en cuando me ha tocado meterme a codigos de frameworks(principalmente de java) y si me topo con cosas que no he manejado o que podia tomar de ejemplo su implementacion.
Saludos.
[...] public links >> microkernel Aprendiendo a usar frameworks, desde adentro First saved by danielcosta | 1 days ago Re: SuS?? – SuSE: Neues Geld und Entlassungen First [...]