Durante la segunda edad del sol, los Mírdain (Altos Herreros Élficos) crearon diferentes plantillas de proyectos para Visual Studio. Estas plantillas tenían la particularidad de poseer grandes poderes imbuidos por sus creadores con el objetivo de hacer que la productividad de los desarrolladores fuera amplísima. Sin embargo los Mírdain fueron corrompidos por los Patrones de diseño, y crearon la plantilla PCL (Portable Class Library) cuyo objetivo es gobernarlos, encontrarlos, atraerlos a todos y atarlos en nuestros proyectos.
Un proyecto PCL (Portable Class Library9 generará un ensamblado que puede ser referenciado desde proyectos Windows Phone 7, Silverlight, .NET y Xbox360. Consiguiendo así maximizar la reutilización de nuestro código.
La única pega es que este tipo de proyectos sólo pueden referenciar a otros proyectos PCL, sin poder referenciar proyectos de una plataforma específica. Esto puede parecer una limitación, pero con una planificación adecuada, podemos crear proyectos PCL que nos ayudaran a asegurar buenas prácticas de desarrollo.
Pero, un momento, ¿porqué tantos proyectos? Eso hace que la solución sea muy difícil de entender. Es un buen argumento ya que va implícito el principio KISS. la respuesta es: Para tener una clara separación de responsabilidades y maximizar el reuso. Cada proyecto debe tener tan sólo un propósito y hacerlo de manera desacoplada.
Una vez que referenciamos a otro proyecto, nuestro proyecto puede volverse fuertemente acoplado, resultando en que no sólo tendremos que añadir una referencia de nuestro proyecto, sino de todas las dependencias que tenga.
Para poder empezar a crear este tipo de proyectos sólo tenemos que descargar los prerrequisitos de la web de MSDN. En la que encontraréis un ejemplo de cómo usarlo.
En MSDN Magazine también podéis encontrar un artículo bastante detallado sobre este tipo de proyectos y un ejemplo completo. Podéis verlo aquí.
Espero que os sirva.
Juan María Laó Ramos