<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Devlixir.com : blog de desarrollo web en espanol, asp.net mvc nhibernate</title><link>http://devlixir.com/</link><description>gotas de c&amp;#243;digo para el Web</description><generator>Graffiti CMS 1.2 (build 1.2.0.2308)</generator><lastBuildDate>Mon, 19 Oct 2009 14:37:00 GMT</lastBuildDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/devlixir" type="application/rss+xml" /><feedburner:emailServiceId>devlixir</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Se Busca desarrollador .NET - Guayaquil, Ecuador</title><link>http://feedproxy.google.com/~r/devlixir/~3/sud12p1aN0s/</link><pubDate>Mon, 19 Oct 2009 15:52:00 GMT</pubDate><guid isPermaLink="false">http://devlixir.com/blog/se-busca-desarrollador-net-guayaquil-ecuador/</guid><dc:creator>Javier Romero</dc:creator><slash:comments>0</slash:comments><category domain="http://devlixir.com/blog/">Blog</category><description>&lt;p&gt;La compa&amp;ntilde;&amp;iacute;a para quien laboro: &lt;a href="http://www.imaget.com"&gt;Image Tech&lt;/a&gt;, busca un desarrollador .NET para pertenecer a nuestro equipo de trabajo, en una relaci&amp;oacute;n a largo plazo. Estamos localizados en Guayaquil, Ecuador.&lt;/p&gt;
&lt;p&gt;He aqu&amp;iacute; los requisitos.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Experiencia de m&amp;iacute;nimo 3 a&amp;ntilde;os manejando proyectos .NET.&lt;/li&gt;
    &lt;li&gt;Conocimientos y habilidades s&amp;oacute;lidas y comprobables en:&lt;br /&gt;
    C#, ASP.NET, AJAX, JQuery, CSS, Sql, Web Services.&lt;/li&gt;
    &lt;li&gt;Excelente Manejjo de de Visual Studio (2005 +)&lt;/li&gt;
    &lt;li&gt;Pro-actividad, Trabajo en equipo, trabajo bajo presi&amp;oacute;n.&lt;/li&gt;
    &lt;li&gt;Certificaci&amp;oacute;n MCP (Recomendable pero no indispensable)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Image Tech ofrece:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Pertenecer al grupo de vanguardia en desarrollo .NET en la regi&amp;oacute;n.&lt;/li&gt;
    &lt;li&gt;Oportunidades continuas de crecimiento y capacitaci&amp;oacute;n.&lt;/li&gt;
    &lt;li&gt;Excelente clima laboral&lt;/li&gt;
    &lt;li&gt;Estabilidad&lt;/li&gt;
    &lt;li&gt;Remuneraci&amp;oacute;n de acuerdo a la capacidad.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si est&amp;aacute;s interesado en aplicar o conoces a alguien que lo quisiera estar, env&amp;iacute;a tu CV (sin foto) a &lt;a href="mailto:trabajo@imaget.com?subject=Desarrollador%20.NET"&gt;trabajo@imaget.com&lt;/a&gt; con el asunto : DESARROLLADOR .NET hasta el d&amp;iacute;a jueves 22 de Octubre.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/devlixir/~4/sud12p1aN0s" height="1" width="1"/&gt;</description><author>Devlixir.com : blog de desarrollo web en espanol, asp.net mvc nhibernate &lt;info@devlixir.com&gt;</author><feedburner:origLink>http://devlixir.com/blog/se-busca-desarrollador-net-guayaquil-ecuador/</feedburner:origLink></item><item><title>IEnumerable a DataSet, Extension Method</title><link>http://feedproxy.google.com/~r/devlixir/~3/MgbdYPY95kI/</link><pubDate>Thu, 25 Jun 2009 02:09:35 GMT</pubDate><guid isPermaLink="false">http://devlixir.com/blog/asp-net/ienumerable-a-dataset-extension-method/</guid><dc:creator>Javier Romero</dc:creator><slash:comments>2</slash:comments><category domain="http://devlixir.com/blog/asp-net/">Asp.net</category><description>&lt;p&gt;Mientras realizaba refactoring en el c&amp;oacute;digo base del framework de la compa&amp;ntilde;&amp;iacute;a que laboro, me surgi&amp;oacute; la necesidad de transformar una lista gen&amp;eacute;rica List&amp;lt;Objeto&amp;gt; en un DataSet. El c&amp;oacute;digo ha sido heredado desde hace alg&amp;uacute;n tiempo y resultaba complicado modificar algunas collecciones customizadas que se realizaron para el proyecto.&lt;/p&gt;
&lt;p&gt;Adem&amp;aacute;s las aplicaciones futuras necesitan la funcionalidad, bastante &amp;uacute;til en tareas administrativas, de transformar una colecci&amp;oacute;n a DataSet. Pues encontr&amp;eacute; algunas fuentes interesantes de informaci&amp;oacute;n: &lt;a href="http://www.codeproject.com/KB/vb/List2DataSet.aspx"&gt;CodeProject presenta una alternativa bastante interesante&lt;/a&gt;, &lt;a href="http://www.keithelder.net/blog/archive/2006/03/10/Converting-Generic-Lists-or-Collections-to-a-DataSet.aspx"&gt;Keith Elder&lt;/a&gt; y &lt;a href="http://sunilksaini.blogspot.com/2007/06/use-list-instead-of-dataset.html"&gt;Sunil Kumar Saini&lt;/a&gt; hacen algo similar y hasta &lt;a href="http://stackoverflow.com"&gt;StackOverflow&lt;/a&gt; est&amp;aacute; lleno de preguntas al respecto.&lt;/p&gt;
&lt;p&gt;Pues yo me quedo con un &lt;a href="http://iandykes.blogspot.com/2008/05/ienumerable-to-dataset-extension-method.html"&gt;art&amp;iacute;culo publicado por Ian Dikes&lt;/a&gt;, quien ha creado un m&amp;eacute;todo extendido para el objeto IEnumerable que nos permitir&amp;aacute; transformar cualquier lista que implemente esta interfaz (IEnumerable) a DataSet.&lt;/p&gt;
&lt;p&gt;El m&amp;eacute;todo es bastante simple y tomado de base de Keith Elder y su post: Obtener las propiedades y sus tipos, armar el dataset y popularlo para devolverlo luego.... Me tomar&amp;eacute; la libertad de copiar el c&amp;oacute;digo para compartirlo con todos.&lt;/p&gt;
&lt;pre class="brush:csharp"&gt;
public static class CollectionExtensions
{
public static DataSet ToDataSet&lt;t&gt;&lt;/t&gt;(this
IEnumerable&lt;t&gt;&lt;/t&gt; collection, string dataTableName)
{
if (collection == null)
{
 throw new ArgumentNullException(&amp;quot;collection&amp;quot;);
}

if (string.IsNullOrEmpty(dataTableName))
{
 throw new ArgumentNullException(&amp;quot;dataTableName&amp;quot;);
}

DataSet data = new DataSet(&amp;quot;NewDataSet&amp;quot;);
data.Tables.Add(FillDataTable(dataTableName, collection));
return data;
}

private static DataTable FillDataTable&lt;t&gt;&lt;/t&gt;(string tableName,
IEnumerable&lt;t&gt;&lt;/t&gt; collection)
{
PropertyInfo[] properties = typeof(T).GetProperties();

DataTable dt = CreateDataTable&lt;t&gt;&lt;/t&gt;(tableName,
collection, properties);

IEnumerator&lt;t&gt;&lt;/t&gt; enumerator = collection.GetEnumerator();
while (enumerator.MoveNext())
{
 dt.Rows.Add(FillDataRow&lt;t&gt;&lt;/t&gt;(dt.NewRow(),
enumerator.Current, properties));
}

return dt;
}

private static DataRow FillDataRow&lt;t&gt;&lt;/t&gt;(DataRow dataRow,
T item, PropertyInfo[] properties)
{
foreach (PropertyInfo property in properties)
{
 dataRow[property.Name.ToString()] = property.GetValue(item, null);
}

return dataRow;
}

private static DataTable CreateDataTable&lt;t&gt;&lt;/t&gt;(string tableName,
IEnumerable&lt;t&gt;&lt;/t&gt; collection, PropertyInfo[] properties)
{
DataTable dt = new DataTable(tableName);

foreach (PropertyInfo property in properties)
{
 dt.Columns.Add(property.Name.ToString());
}

return dt;
}  
}

&lt;/pre&gt;
&lt;p&gt;Recibe el nombre de la tabla a crear, inclusive se podr&amp;iacute;a modificar para incluir el nombre del DataSet, yo no lo necesitaba. Ahora solo basta invocar el m&amp;eacute;todo ToDataSet en cualquier objeto que implementa IEnumerable para obtener el DataSet.&lt;/p&gt;
&lt;p&gt;Happy Coding&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/devlixir/~4/MgbdYPY95kI" height="1" width="1"/&gt;</description><author>Devlixir.com : blog de desarrollo web en espanol, asp.net mvc nhibernate &lt;info@devlixir.com&gt;</author><feedburner:origLink>http://devlixir.com/blog/asp-net/ienumerable-a-dataset-extension-method/</feedburner:origLink></item><item><title>ASP.NET MVC: Trece preguntas básicas</title><link>http://feedproxy.google.com/~r/devlixir/~3/VFYSh0cBtaY/</link><pubDate>Tue, 05 May 2009 23:59:00 GMT</pubDate><guid isPermaLink="false">http://devlixir.com/blog/mvc/asp-net-mvc-trece-preguntas-basicas/</guid><dc:creator>Javier Romero</dc:creator><slash:comments>0</slash:comments><category domain="http://devlixir.com/blog/mvc/">MVC</category><description>&lt;p&gt;Jos&amp;eacute; Aguilar en Variable Not Found ha publicado un excelente art&amp;iacute;culo para quienes quieren conocer de forma general asp.net MVC o quienes aun necesitan algo m&amp;aacute;s para decidirse por este framework para desarrollo de aplicaciones web.&lt;/p&gt;
&lt;p&gt;Las 13 preguntas son:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; 1. Empecemos desde el principio, &amp;iquest;qu&amp;eacute; es MVC?&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 2. &amp;iquest;Qu&amp;eacute; ventajas tiene el uso del patr&amp;oacute;n MVC?&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3. &amp;iquest;Qu&amp;eacute; es ASP.NET MVC framework?&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 4. &amp;iquest;Es el primer framework MVC creado para .NET?&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 5. Como desarrollador de aplicaciones web con ASP.NET, &amp;iquest;me afectar&amp;aacute; la llegada de este framework?&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 6. Entonces, &amp;iquest;no significa la aparici&amp;oacute;n del framework MVC la muerte pr&amp;oacute;xima de los Webforms de ASP.NET?&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 7. &amp;iquest;Vale la pena pasarse a ASP.NET MVC o sigo usando Webforms?&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 8. &amp;iquest;Puedo convertir mi proyecto ASP.NET Webforms a ASP.NET MVC?&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 9. &amp;iquest;Se puede utilizar ASP.NET Ajax con el framework MVC?&lt;br /&gt;
&amp;nbsp; 10. &amp;iquest;Se puede utilizar VB.NET con ASP.NET MVC?&lt;br /&gt;
&amp;nbsp; 11. &amp;iquest;Puedo usar LINQ desarrollando aplicaciones con ASP.NET MVC framework?&lt;br /&gt;
&amp;nbsp; 12. &amp;iquest;Qu&amp;eacute; tipo de tecnolog&amp;iacute;as puedo utilizar en las vistas?&lt;br /&gt;
&amp;nbsp; 13. &amp;iquest;Es ASP.NET MVC framework software libre?&lt;/p&gt;
&lt;p&gt;Excelente material de lectura, le&amp;eacute;lo aqu&amp;iacute;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/blogs/jmaguilar/archive/2009/05/05/asp-net-mvc-trece-preguntas-b-225-sicas.aspx"&gt;Variable Not Found: ASP.NET: trece preguntas b&amp;aacute;sicas.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/devlixir/~4/VFYSh0cBtaY" height="1" width="1"/&gt;</description><author>Devlixir.com : blog de desarrollo web en espanol, asp.net mvc nhibernate &lt;info@devlixir.com&gt;</author><feedburner:origLink>http://devlixir.com/blog/mvc/asp-net-mvc-trece-preguntas-basicas/</feedburner:origLink></item><item><title>El Desarrollo Agil es más una cultura que un proceso.</title><link>http://feedproxy.google.com/~r/devlixir/~3/VCct_IXunVk/</link><pubDate>Tue, 28 Apr 2009 18:22:27 GMT</pubDate><guid isPermaLink="false">http://devlixir.com/blog/el-desarrollo-agil-es-mas-una-cultura-que-un-proceso/</guid><dc:creator>Javier Romero</dc:creator><slash:comments>2</slash:comments><category domain="http://devlixir.com/blog/">Blog</category><description>&lt;p&gt;Del por qu&amp;eacute;&amp;nbsp;tratar de ser&amp;nbsp;&amp;quot;Agil&amp;quot; (Agile) como una cultura y no solamente un proceso implica resistencia y dificultad para ense&amp;ntilde;ar y aprender la implementaci&amp;oacute;n del mismo.&lt;/p&gt;
&lt;h3&gt;Una cultura, no un proceso&lt;/h3&gt;
&lt;p&gt;Hemos venido trabajando junto con &lt;a href="http://www.elcafedejoe.com/"&gt;Jos&amp;eacute;&lt;/a&gt; y el equipo del comit&amp;eacute; de calidad y casi todos en la oficina durante meses, ayud&amp;aacute;ndonos mutuamente para poder adoptar una metodolog&amp;iacute;a de desarrollo &amp;aacute;gil. Ahora luego de tanto tiempo parece que al fin estamos en el camino de implementarlo. Pero el equipo, de forma l&amp;oacute;gica, y yo mismo me incluyo, no necesariamente est&amp;aacute; contento con lo que adoptar un proceso significa. El hecho de tantos informes, papeles, pasos a seguir, cambios en el camino, el hecho de hacer de nuestro proceso lo m&amp;aacute;s flexible posible, pensando en la calidad como premisa y en los colaboradores (el equipo) como parte medular de todo el proceso... son conceptos nuevos que estamos tratando de adecuar a la &amp;quot;naturaleza&amp;quot; de nuestro negocio e interacci&amp;oacute;n interna.&lt;/p&gt;
&lt;p&gt;Alguna vez de dije a Jos&amp;eacute;:&lt;/p&gt;
&lt;p style="padding-left: 30px"&gt;&lt;span style="font-family: georgia, palatino"&gt;&lt;span style="font-size: small"&gt;&lt;font size="2" face=""&gt;&amp;quot;Al fin me d&amp;iacute; cuenta... Debemos implementar una&amp;nbsp;&lt;strong&gt;Cultura&amp;nbsp;&lt;/strong&gt;de Desarrollo &amp;Aacute;gil, y no un proceso.&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Para explicar mejor la situaci&amp;oacute;n comencemos con algunos ejemplos:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Desde la gerencia de proyectos&lt;/strong&gt;&lt;br /&gt;
&lt;a href="http://www.elcafedejoe.com"&gt;Jos&amp;eacute;&lt;/a&gt;, es responsable del manejo de proyectos, de la relaci&amp;oacute;n del proyecto con el cliente y por ende de la compa&amp;ntilde;&amp;iacute;a.&amp;nbsp;El debe lidiar&amp;nbsp;con los requerimientos de los clientes, con los cambios durante el camino recorrido por el proyecto, de responder ante la gerencia por la efectividad y rentabilidad del proyecto; muchas veces sin importar las situaciones o cambios en este mismo trayecto. Pues Jos&amp;eacute; se ve obligado a implementar un proceso &amp;aacute;gil, un proceso que le permita en base de la&amp;nbsp;&amp;quot;confianza&amp;quot; en el equipo tomar decisiones en el camino&amp;nbsp;sin que afecten al proyecto, pero teniendo evidencias de lo que estos cambios significan, he all&amp;iacute; donde entra la &amp;quot;formalidad&amp;quot; de este proceso:&amp;nbsp; reporte de tareas, horas trabajadas, reporte de costos. No se pueden tomar decisiones &amp;quot;&amp;aacute;giles&amp;quot; sin estos par&amp;aacute;metros.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Desde el dise&amp;ntilde;o de interfaces y Arquitectura&lt;br /&gt;
&lt;/strong&gt;Wendy y &lt;a href="http://michaelmuller.net"&gt;Michael&lt;/a&gt;,&amp;nbsp;son responsables de la experiencia de usuario, dise&amp;ntilde;o de interfaz y de la interacci&amp;oacute;n del usuario&amp;nbsp;con esta interfaz. Ellos ponen un gran valor agregado a los requerimientos que los clientes nos hacen llegar. Transforman simples deseos, en productos reales y factibles. Se podr&amp;iacute;a decir que este rol o grupo deber&amp;iacute;a vivir dentro de una &lt;em&gt;&amp;quot;cultura de dise&amp;ntilde;o&amp;quot;&lt;/em&gt; la cual podr&amp;iacute;a estar manejada por la subjetividad, percepci&amp;oacute;n est&amp;eacute;tica y funcional. Para el triunfo de la adopci&amp;oacute;n &amp;quot;Agil&amp;quot; ellos &lt;em&gt;no deben&lt;/em&gt; abandonar esta visi&amp;oacute;n, es m&amp;aacute;s el proceso propuesto asume este gran valor y lo mantiene junto con otros m&amp;aacute;s de la cultura de dise&amp;ntilde;o. Pero a la vez ellos adoptan valores que vienen con la cultura &amp;quot;Agil&amp;quot;, como por ejemplo, el hecho de tener siempre un producto visible en cada etapa, en el seguimiento de cambios, en la facilidad de dar giros en el proceso de acuerdo a las necesidades. As&amp;iacute; mismo implica muchas otras responsabilidades para el &amp;eacute;xito del proceso: registro de actividades, evidencias de artefactos, etc. Recordemos: La gerencia o jefatura de Proyectos no puede tomar decisiones si no tiene &amp;quot;datos reales&amp;quot; en qu&amp;eacute; basarse.&lt;/p&gt;
&lt;h3&gt;Cultura es proceso&lt;/h3&gt;
&lt;p&gt;En alguna&amp;nbsp;ocasi&amp;oacute;n conversando con Jos&amp;eacute;,&amp;nbsp;hablamos sobre c&amp;oacute;mo los cambios de implementaci&amp;oacute;n del proceso puedan ser hechos sin &amp;quot;desgracias&amp;quot;.&amp;nbsp;Es m&amp;aacute;s&amp;nbsp;con la perspectiva de poder agregar m&amp;aacute;s miembros del&amp;nbsp;equipo o inclusive nuevos equipos a nuestra organizaci&amp;oacute;n, la tarea de propagar el proceso o la cultura nos llevar&amp;iacute;a a estrategias fluidas de comunicaci&amp;oacute;n constante&amp;nbsp;dentro de los&amp;nbsp;equipos, entre todos los equipos... Cada uno de los equipos y de las personas que&amp;nbsp;los conforman poseen valores individuales que son v&amp;aacute;lidos y se requiere mantenerlos en el proceso..&amp;nbsp;C&amp;oacute;mo mantenemos estos valores dentro del proceso? . Pues convirtiendo estos valores en parte de la &amp;quot;cultura de la compa&amp;ntilde;&amp;iacute;a&amp;quot;. Esas cosas que la compa&amp;ntilde;&amp;iacute;a (como ente comercial, como lugar de trabajo, como familia) valora ya&amp;nbsp;desde ahora y desde siempre de todos...&amp;nbsp; debemos hacerla parte del proceso.&lt;/p&gt;
&lt;p&gt;De all&amp;iacute; que pensando&amp;nbsp;de forma sabia, la salida m&amp;aacute;s obvia es:&lt;/p&gt;
&lt;p style="padding-left: 30px"&gt;&lt;span style="font-size: medium"&gt;&lt;span style="font-family: georgia, palatino"&gt;&lt;span style="font-size: small"&gt;&lt;font size="2" face=""&gt;&amp;quot;La Cultura es un proceso. Indentifiquemos nuestra cultura y la promovemos&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Tal vez esta afirmaci&amp;oacute;n no&amp;nbsp;tenga sentido para ninguno... pero para m&amp;iacute; si.&lt;/p&gt;
&lt;p&gt;Veamos el proceso de vida basado en la cultura de nuestro pa&amp;iacute;s:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Ir a la escuela y estudiar lo mejor que se puede&lt;/li&gt;
    &lt;li&gt;Ir a una buena universidad&lt;/li&gt;
    &lt;li&gt;Casarse&lt;/li&gt;
    &lt;li&gt;Comprar una casa&lt;/li&gt;
    &lt;li&gt;Tener de 2 a 3 hijos&lt;/li&gt;
    &lt;li&gt;Ahorrar para la jubilaci&amp;oacute;n.&lt;/li&gt;
    &lt;li&gt;Tener tu propio negocio.&lt;/li&gt;
    &lt;li&gt;Te jubilas y te dedicas a molestar a tus hijos.&lt;/li&gt;
    &lt;li&gt;Te dedicas de viejo a consentir y malcriar a tus nietos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bueno ser&amp;iacute;a lo ideal. Pero el asunto est&amp;aacute; en que cada proceso de vida cambia de acuerdo a la cultura, los gringos tendr&amp;aacute;n un proceso distintos, los hind&amp;uacute;es otro, los chinos otros.&lt;/p&gt;
&lt;p&gt;El punto est&amp;aacute; que dentro nuestra organizaci&amp;oacute;n debemos encontrar nuestra cultura com&amp;uacute;n la cual la incluimos dentro de lo &amp;quot;supuestamente r&amp;iacute;gido&amp;quot; del proceso.&amp;nbsp;De manera que este proceso se entendible para todos dentro de la organizaci&amp;oacute;n:&amp;nbsp; &amp;quot;Dentro de nuestra cultura com&amp;uacute;n&amp;quot;.&lt;/p&gt;
&lt;h3&gt;No podemos escapar a nuestros valores, dentro del proceso&lt;/h3&gt;
&lt;p&gt;Estos valores de nuestra cultura organizacional forman constantes dentro de nuestro proceso llev&amp;aacute;ndonos a realizar tareas basadas en estos valores, as&amp;iacute; no deber&amp;iacute;amos tener situaciones como:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&amp;quot;Este no es mi problema, ese error est&amp;aacute; fuera de mi &amp;aacute;rea de acci&amp;oacute;n.&amp;quot;&lt;/li&gt;
    &lt;li&gt;&amp;quot;No puedo cambiar esto, no quiero hacerlo.&amp;quot;&lt;/li&gt;
    &lt;li&gt;Miedo al cambio.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No podemos cultivar valores de nuestra cultura que nos lleven a crear un proceso pobre, la actitud debe ser propensa al cambio y a los retos.&lt;/p&gt;
&lt;p style="padding-left: 30px"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: georgia, palatino"&gt;&lt;font size="2" face=""&gt;&amp;quot;Propaguemos nuestra &lt;em&gt;cultura de desarrollo &amp;aacute;gil&lt;/em&gt;, luego los procesos y&amp;nbsp;t&amp;eacute;cnicas.&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Seamos part&amp;iacute;cipes cada d&amp;iacute;a, de la propagaci&amp;oacute;n de esta cultura. Somos una comunidad de desarrollo web. Nuestra cultura es un nicho y podemos propagarla a trav&amp;eacute;s de:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Lenguaje&lt;br /&gt;
&lt;/em&gt;Tenemos nuestra jerga propia, heredada en el tiempo, saquemos lo mejor de ella.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Historias, h&amp;eacute;roes, mitos, leyendas y chistes&lt;br /&gt;
&lt;/em&gt;Tenemos historia de desarrollo dentro de la organizaci&amp;oacute;n,&amp;nbsp;an&amp;eacute;cdotas,&amp;nbsp;chistes, historias dif&amp;iacute;ciles de creer, cosas que alimentan nuestra vida de desarrollo.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Valores, normas, reglas, tab&amp;uacute;es&lt;br /&gt;
&lt;/em&gt;No podemos ser &amp;aacute;giles sin valores, sin reglas, de los valores del manifiesto &amp;aacute;gil tomar&amp;eacute; 5, estas definiciones describen cu&amp;aacute;n importante es la cultura &amp;aacute;gil. Como podemos ver tiene implicaciones dentro del proceso, pero no podemos decir exactamente en qu&amp;eacute; parte del proceso afecta.. porque enmarca a todo el proceso!.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Entrega continua de software realmente valioso.&lt;/li&gt;
    &lt;li&gt;Los requerimientos de cambios son bienvenidos.&lt;/li&gt;
    &lt;li&gt;Buscar la satisfacci&amp;oacute;n del cliente lo m&amp;aacute;s pronto posible y&amp;nbsp;con&amp;nbsp;entregas continuas y a tiempo.&lt;/li&gt;
    &lt;li&gt;Los encargados de negocios y los desarrolladores deben trabajar juntos &amp;quot;siempre&amp;quot;.&lt;/li&gt;
    &lt;li&gt;Construyamos proyectos alrededor de motivar a las personas, a todas!.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Rituales, ritos, ceremonias y celebraciones&lt;br /&gt;
&lt;/em&gt;Las reuniones de los lunes, la planeaci&amp;oacute;n de proyecto, la presentaci&amp;oacute;n de dise&amp;ntilde;o, la publicaci&amp;oacute;n en el servidor de pruebas o la celebraci&amp;oacute;n de un proyecto terminado a tiempo. No&amp;nbsp;son&amp;nbsp;excusas, son&amp;nbsp;formas de incluir nuestra cultura en el proceso.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Tecnolog&amp;iacute;a, Artefactos, Entregables, reportes, etc&lt;br /&gt;
&lt;/em&gt;Finalmente, el proceso y la cultura &amp;aacute;gil no es nada sin entregables, sin el registro de entregables, sin las evidencias de que la cultura influye &amp;quot;objetivamente&amp;quot;,&amp;nbsp;cuantitativamente en el engranaje de la organizaci&amp;oacute;n. Si pensamos en trabajo manual, l&amp;oacute;gicamente tenemos un problema desde el principio. Pero tenemos herramientas que nos ayudar&amp;aacute;n a realizar esta tarea.&lt;/p&gt;
&lt;h3&gt;Y entonces Qu&amp;eacute;?&lt;/h3&gt;
&lt;p&gt;Si tomamos m&amp;aacute;s en serio nuestra cultura dentro del proceso que estamos implementando y valoramos las cosas intr&amp;iacute;nsecas de nuestra organizaci&amp;oacute;n, mejor estaremos aprendiendo y ense&amp;ntilde;ando a ser &amp;aacute;giles. &amp;Aacute;giles en el desarrollo de software que es lo que nos interesa.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/devlixir/~4/VCct_IXunVk" height="1" width="1"/&gt;</description><author>Devlixir.com : blog de desarrollo web en espanol, asp.net mvc nhibernate &lt;info@devlixir.com&gt;</author><feedburner:origLink>http://devlixir.com/blog/el-desarrollo-agil-es-mas-una-cultura-que-un-proceso/</feedburner:origLink></item><item><title>Kobe: Web 2.0 Service Development Resource Kit</title><link>http://feedproxy.google.com/~r/devlixir/~3/LESKqQWYVEk/</link><pubDate>Thu, 16 Apr 2009 21:28:00 GMT</pubDate><guid isPermaLink="false">http://devlixir.com/blog/asp-net/kobe-web-2-0-service-development-resource-kit/</guid><dc:creator>Javier Romero</dc:creator><slash:comments>0</slash:comments><category domain="http://devlixir.com/blog/asp-net/">Asp.net</category><description>&lt;h4&gt;ACTUALIZADO: 17/04/2009&lt;/h4&gt;
&lt;p&gt;Tal como me imaginaba, Microsoft ha retirado la descarga de este KIT,&amp;nbsp;con la finalidad de incorporar&amp;nbsp;los comentarios de&amp;nbsp;la comunidad de desarrollo. Hay muchas &lt;a href="http://blogsearch.google.com.ec/blogsearch?hl=es&amp;amp;oe=utf-8&amp;amp;client=firefox-a&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;lr=&amp;amp;q=kobe+asp.net&amp;amp;as_drrb=q&amp;amp;as_qdr=t"&gt;conversaciones y art&amp;iacute;culos sobre este tema&lt;/a&gt;, especialmente en twitter, pero tambi&amp;eacute;n en el &lt;a href="http://haacked.com/archive/2009/04/16/code-sample-taxonomy.aspx"&gt;blog de Phil Haack&lt;/a&gt;, aparte &lt;a href="http://ayende.com/Blog/"&gt;Ayende ha posteado&lt;/a&gt; aproximadamente 7 art&amp;iacute;culos al respecto y &lt;a href="http://codebetter.com/blogs/karlseguin/archive/2009/04/16/kobe-oh-dead-lord-why.aspx"&gt;Karl Seguin ha hecho lo mismo&lt;/a&gt;. Esperemos entonces que las &lt;em&gt;&amp;quot;peores mejores pr&amp;aacute;cticas&amp;quot;&lt;/em&gt; sean re-publicadas pr&amp;oacute;ximamente.&lt;/p&gt;
&lt;h4&gt;POST ORIGINAL&lt;/h4&gt;
&lt;p&gt;El proyecto Kobe contiene una serie de recursos para la planeaci&amp;oacute;n, arquitectura e implementaci&amp;oacute;n de aplicaciones Web 2.0 y servicios usando la plataforma de desarrollo de Microsoft: ASP.NET, ASP.NET MVC, MS SQL, etc. Orientado para quienes toman decisiones de tecnolog&amp;iacute;a, arquitectos de soluciones, jefes de desarrollo y desarrolladores en la &lt;a href="http://en.wikipedia.org/wiki/Startup_company"&gt;comunidad&amp;nbsp;creciente de &amp;quot;startups&amp;quot;&lt;/a&gt; o a nivel empresarial quienes desean aplicar, crear o soportar&amp;nbsp; projectos sobre servicios/aplicaciones&amp;nbsp;Web 2.0.&lt;/p&gt;
&lt;p&gt;Este kit &lt;a href="http://msdn.microsoft.com/en-us/architecture/bb194897.aspx"&gt;est&amp;aacute; disponible para descarga en MSDN&lt;/a&gt; y contiene:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Documentaci&amp;oacute;n&lt;/li&gt;
    &lt;li&gt;Walk-Trough&lt;/li&gt;
    &lt;li&gt;Proyecto de Muestra.&lt;/li&gt;
    &lt;li&gt;Presentaciones.&lt;/li&gt;
    &lt;li&gt;Videos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Lo bajar&amp;eacute; y revisar&amp;eacute; buscando situaciones interesantes y sobre todo observar que las &amp;quot;convenciones&amp;quot; y &amp;quot;est&amp;aacute;ndares&amp;quot; que la comunidad ha establecido &amp;quot;de facto&amp;quot; hayan sido tomadas en cuenta.&lt;/p&gt;
&lt;p&gt;Desc&amp;aacute;rgalo en MSDN: &lt;a href="http://msdn.microsoft.com/en-us/architecture/bb194897.aspx"&gt;http://msdn.microsoft.com/en-us/architecture/bb194897.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/devlixir/~4/LESKqQWYVEk" height="1" width="1"/&gt;</description><author>Devlixir.com : blog de desarrollo web en espanol, asp.net mvc nhibernate &lt;info@devlixir.com&gt;</author><feedburner:origLink>http://devlixir.com/blog/asp-net/kobe-web-2-0-service-development-resource-kit/</feedburner:origLink></item><item><title>Capítulo Gratis de Libro sobre ASP.NET MVC</title><link>http://feedproxy.google.com/~r/devlixir/~3/OfIrF2kcaYs/</link><pubDate>Wed, 15 Apr 2009 19:52:38 GMT</pubDate><guid isPermaLink="false">http://devlixir.com/blog/capitulo-gratis-de-libro-sobre-asp-net-mvc/</guid><dc:creator>Javier Romero</dc:creator><slash:comments>0</slash:comments><category domain="http://devlixir.com/blog/">Blog</category><description>&lt;p&gt;Lo le&amp;iacute; en el feed de &lt;a href="http://twitter.com/elijahmanor/"&gt;Tweeter de Elijah Manor&lt;/a&gt;, si no lo sigues... qu&amp;eacute; esperas?. Siempre publica links y recursos bien avanzados para desarrolladores.&lt;/p&gt;
&lt;p&gt;Pues hoy, el anunci&amp;oacute; sobre un cap&amp;iacute;tulo gratuito del libro &lt;a href="http://www.packtpub.com/asp-net-model-view-controller-1-0-quickly/book"&gt;ASP.NET MVC 1.0 Quickly&lt;/a&gt; escrito por Maaten Balliauw. Un muy interesante recurso para quienes quieren aprender ASP.NET de una forma mucho m&amp;aacute;s &amp;aacute;gil. En resumen un recorrido r&amp;aacute;pido por la arquitectura ASP.NET MVC, integraci&amp;oacute;n con AJAX y jQuery, Routing y&amp;nbsp;Testing utilizando Mocking.&lt;/p&gt;
&lt;p&gt;El cap&amp;iacute;tulo gratis es el No. 2: &lt;em&gt;&amp;quot;Your First ASP.NET MVC Application&amp;quot;&lt;/em&gt;, explicando la plantilla de proyecto ASP.NET MVC dentro de&amp;nbsp;Visual Studio. La construcci&amp;oacute;n de una aplicaci&amp;oacute;n web simple y&amp;nbsp;un recorrido&amp;nbsp;r&amp;aacute;pido de&amp;nbsp;algunos aspectos del framework ASP.NET MVC.&lt;/p&gt;
&lt;p&gt;Si te resulta interesante, &lt;a href="http://www.packtpub.com/files/asp-net-mvc-1-0-quickly-sample-chapter-2-your-first-asp-net-mvc-application.pdf"&gt;descarga el libro directamente desde aqu&amp;iacute;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/devlixir/~4/OfIrF2kcaYs" height="1" width="1"/&gt;</description><author>Devlixir.com : blog de desarrollo web en espanol, asp.net mvc nhibernate &lt;info@devlixir.com&gt;</author><feedburner:origLink>http://devlixir.com/blog/capitulo-gratis-de-libro-sobre-asp-net-mvc/</feedburner:origLink></item><item><title>Principios de S.O.L.I.D</title><link>http://feedproxy.google.com/~r/devlixir/~3/PPU0P9ORXxw/</link><pubDate>Mon, 13 Apr 2009 14:09:00 GMT</pubDate><guid isPermaLink="false">http://devlixir.com/blog/mvc/principios-de-solid/</guid><dc:creator>Javier Romero</dc:creator><slash:comments>3</slash:comments><category domain="http://devlixir.com/blog/mvc/">MVC</category><description>&lt;p&gt;A lo largo del camino de &amp;quot;aprender&amp;quot; todo lo involucrado al desarrollo web con Asp.net MVC, implementaremos muchos principios de programaci&amp;oacute;n a veces desconocidos para nosotros, o al menos &amp;quot;omitidos&amp;quot; en aras del tiempo, supuesta eficiencia o simplemente porque nos queremos ir por el camino f&amp;aacute;cil..&lt;/p&gt;
&lt;p&gt;Pues un aspecto principal de esta &lt;strike&gt;&amp;quot;nueva teor&amp;iacute;a&amp;quot;&lt;/strike&gt; a aprender son los principios S.O.L.I.D. que regir&amp;aacute;n de aqu&amp;iacute; en adelante todos los esfuerzos de dise&amp;ntilde;o y codificaci&amp;oacute;n de las aplicaciones mvc que realicemos.&lt;/p&gt;
&lt;h4&gt;Qu&amp;eacute; es S.O.L.I.D.?&lt;/h4&gt;
&lt;p&gt;Es una colecci&amp;oacute;n de mejores pr&amp;aacute;cticas y principios del &lt;a href="http://en.wikipedia.org/wiki/Object-oriented_design"&gt;dise&amp;ntilde;o orientado a objetos&lt;/a&gt;&amp;nbsp;que podemos aplicar a nuestros dise&amp;ntilde;os para cumplir algunos objetivos como: loose-coupling, mayor mantenimiento del c&amp;oacute;digo, localizaci&amp;oacute;n intiutiva de c&amp;oacute;digo, etc. S.O.L.I.D. es una abreviatura (acr&amp;oacute;nimo) para estos principios.&lt;/p&gt;
&lt;p&gt;Estos principios fueron recogidos y compendiados en un trabajo escrito por Robert &amp;quot;Tio Bob&amp;quot; Martin&amp;nbsp; (Uncle Bob Martin). Podemos encontrar m&amp;aacute;s detalles de este trabajo en: &lt;a title="http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod" href="http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod"&gt;http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Vamos a dar un peque&amp;ntilde;o resumen sobre cada uno de estos principios, pero no ir&amp;eacute; a los detalles, para no cansar con mucho texto que leer, preferiblemente enlazar&amp;eacute; art&amp;iacute;culos y webcasts que permitan de forma pr&amp;aacute;ctica comprender estos principios y aplicarlos de la forma m&amp;aacute;s &amp;oacute;ptima y eficiente posible.&lt;/p&gt;
&lt;h4&gt;SRP: Single Responsibility Principle&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;NO DEBER&amp;Iacute;A HABER MAS QUE UNA RAZ&amp;Oacute;N PARA QUE UNA CLASE CAMBIE.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;En SRP una raz&amp;oacute;n para cambiar es definida como una responsabilidad, por lo tanto es considerado como un estado. Si un objeto tiene m&amp;aacute;s de una raz&amp;oacute;n para cambiar, entonces tiene m&amp;aacute;s de una responsabilidad lo cual es una violaci&amp;oacute;n a SRP.&lt;/p&gt;
&lt;p&gt;Para entender este principio, mira este webcast de DimeCast.net:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.dimecasts.net/Casts/CastDetails/88"&gt;Creating SOLID Code: Single Responsibility Principle (SRP).&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;M&amp;aacute;s detalles:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.lostechies.com/blogs/sean_chambers/archive/2008/03/15/ptom-single-responsibility-principle.aspx"&gt;PTOM: The Single Responsibility Principle por Sean Chambers&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.lostechies.com/blogs/jason_meridth/archive/2008/03/26/ptom-single-responsibility-principle.aspx"&gt;PTOM: The Single Responsibility Principle por Jason Meridth&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&amp;nbsp;OCP: Open Closed Principle&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;LAS ENTIDADES DE SOFTWARE(CLASSES, MODULES, FUNCIONES, ETC), DEBERIAN ESTAR DISPONIBLES PARA EXTENDERSE PERO CERRADAS PARA MODIFICACION.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Este es uno de los m&amp;aacute;s antiguos principios del Dise&amp;ntilde;o Orientado a Objectos. Esto se puede resumir como &amp;quot;Cualquier entidad, deber&amp;iacute;a permitir que su comportamiento pueda ser modificado (extendido), pero sin alterar su c&amp;oacute;digo fuente. Suena&amp;nbsp;bastante f&amp;aacute;cil para cualquier desarrollador, pero es m&amp;aacute;s complicado implementarlo a gran escala.&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;WEBCAST:&amp;nbsp;&amp;nbsp;&lt;a href="http://www.dimecasts.net/Casts/CastDetails/90"&gt;Open/Closed Principle (OCP)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.lostechies.com/blogs/joe_ocampo/archive/2008/03/21/ptom-the-open-closed-principle.aspx"&gt;PTOM: The Open Closed Principle por Joe Ocampo.&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&amp;nbsp;LSO: Liskov Substitution Principle&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;FUNCIONES QUE USEN... REFERENCIAS A CLASES BASE, DEBEN SER CAPACES DE USAR OBJETOS DE CLASES DERIVADAS SIN EXPLICITAMENTE CONOCER ESTOS OBJETOS.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Un resumen r&amp;aacute;pido: Si tenemos una clase base BASE, y subclases SUB1 y SUB2 el resto del c&amp;oacute;digo deber&amp;iacute;a siempre referenciar a BASE y &lt;em&gt;&lt;strong&gt;NO&lt;/strong&gt;&lt;/em&gt; a SUB1 y SUB2.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;WEBCAST: &lt;a href="http://www.dimecasts.net/Casts/CastDetails/92"&gt;Liskov Substitution Principle&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&amp;nbsp;&lt;a href="http://www.lostechies.com/blogs/chad_myers/archive/2008/03/09/ptom-the-liskov-substitution-principle.aspx"&gt;The Liskov Substitution Principle por Chad Myers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;ISP: Interface Segregation Principle&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;LOS CLIENTES NO DEBER&amp;Iacute;AN SER FORZADOS A DEPENDER DE INTERFACES QUE ELLOS NO USAN.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;B&amp;aacute;sicamente, si tenemos una clase abstracta o una interfaz, entonces, quienes implementen estas clases no deber&amp;iacute;an ser forzados a implementar partes que para un comportamiento espec&amp;iacute;fico no importan. Un caso de la vida real: Intenta crear un CustomMembershipProvider, heredando de MembershipProvider, son m&amp;aacute;s de 20 m&amp;eacute;todos&amp;nbsp;para sobrescribir, de las cuales a lo mejor solamente necesitas 5, he ah&amp;iacute; una violaci&amp;oacute;n a ISP. El&amp;nbsp;&amp;eacute;xito&amp;nbsp;llega con la creaci&amp;oacute;n de una serie de interfaces o clases abstractas que permita la modularizaci&amp;oacute;n de objetos, sus propiedas y/o m&amp;eacute;todos.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;WEBCAST: &lt;a href="http://www.dimecasts.net/Casts/CastDetails/94"&gt;Interface Segregation Principle.&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.lostechies.com/blogs/rhouston/archive/2008/03/14/ptom-the-interface-segregation-principle.aspx"&gt;PTOM: The Interface Segregation Principle por Ray Houston&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;PDF: &lt;a href="http://www.objectmentor.com/resources/articles/isp.pdf"&gt;ISP por ObjectMentor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;DIP: Dependency Inversion Principle&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;A.&amp;nbsp;MODULOS&amp;nbsp;DE UN NIVEL ALTO NO DEBER&amp;Iacute;AN DEPENDER DE MODULOS DE BAJO NIVEL.&amp;nbsp;LA DEPENDENCIA ENTRE&amp;nbsp;AMBOS DEBE SER REALIZADA SOBRE ABSTRACCIONES.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;B. LAS ABSTRACIONES NO DEBERIAN DEPENDER DE DETALLES. LOS DETALLES&amp;nbsp;PODRIAN DEPENDER DE ABSTRACCIONES.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Este &amp;uacute;ltimo principio es la evoluci&amp;oacute;n&amp;nbsp;natural de los tres primeros, la conclusi&amp;oacute;n&amp;nbsp;obvia. Una ayuda para&amp;nbsp;el dise&amp;ntilde;o &amp;quot;elegante&amp;quot; y&amp;nbsp;a la vez manejar las responsabilidades y separaci&amp;oacute;n a nivel de assemblies o &amp;quot;m&amp;oacute;dulos&amp;quot;.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;WEBCAST:&amp;nbsp;&amp;nbsp;&lt;a href="http://www.dimecasts.net/Casts/CastDetails/96"&gt;Dependency Inversion Principle&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;WEBCAST:&amp;nbsp;&amp;nbsp;&lt;a href="http://www.dimecasts.net/Casts/CastDetails/99"&gt;Refactoring the SOLID episode on DI to use StructureMap&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.lostechies.com/blogs/jimmy_bogard/archive/2008/03/31/ptom-the-dependency-inversion-principle.aspx"&gt;PTOM: The Dependency Inversion Principle por Jimmy Bogard&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/devlixir/~4/PPU0P9ORXxw" height="1" width="1"/&gt;</description><author>Devlixir.com : blog de desarrollo web en espanol, asp.net mvc nhibernate &lt;info@devlixir.com&gt;</author><feedburner:origLink>http://devlixir.com/blog/mvc/principios-de-solid/</feedburner:origLink></item><item><title>Microsoft ASP.NET MVC 1.0 es ahora Open Source MS-PL</title><link>http://feedproxy.google.com/~r/devlixir/~3/_EDCy8krS-A/</link><pubDate>Thu, 02 Apr 2009 01:46:00 GMT</pubDate><guid isPermaLink="false">http://devlixir.com/blog/mvc/microsoft-asp-net-mvc-es-ahora-open-source-ms-pl/</guid><dc:creator>Javier Romero</dc:creator><slash:comments>0</slash:comments><category domain="http://devlixir.com/blog/mvc/">MVC</category><description>&lt;p&gt;El c&amp;oacute;digo fuente de ASP.NET MVC ha estado disponible en &lt;a href="http://aspnet.codeplex.com/"&gt;CodePlex&lt;/a&gt; desde hace alg&amp;uacute;n tiempo. Ojo con la palabra usada &amp;quot;&lt;em&gt;Disponible&lt;/em&gt;&amp;quot;, es decir hab&amp;iacute;a estado &amp;quot;&lt;em&gt;abierto&lt;/em&gt;&amp;quot; para revisarlo, verlo, comentarlo pero no era &amp;quot;Open Source&amp;quot;.&lt;/p&gt;
&lt;p&gt;Puest &lt;a href="http://weblogs.asp.net/scottgu/archive/2009/04/01/asp-net-mvc-1-0.aspx"&gt;ScottGu ha posteado sobre esto&lt;/a&gt; hace algunos momentos: Hoy ASP.NET MVC 1.0 adem&amp;aacute;s de ser &amp;quot;&lt;em&gt;Gratis&lt;/em&gt;&amp;quot; ahora es &amp;quot;&lt;em&gt;Libre&lt;/em&gt;&amp;quot; y ha sido liberado bajo la &lt;a href="http://www.opensource.org/licenses/ms-pl.html"&gt;licencia MS-PL&lt;/a&gt;. Esto significa poderlo cambiar, redistribuir los cambios e incluso &amp;quot;da&amp;ntilde;arlo&amp;quot; (en el buen sentido de la palabra).&lt;/p&gt;
&lt;p&gt;Muy buenas noticias para todos, especialmente para las personas del movimiento &lt;a href="http://altdotnet.org/"&gt;ALT.NET&lt;/a&gt; quienes buscan siempre mejoras a nivel comunidad para .net, adem&amp;aacute;s para nosotros que podremos buscarle los puntos m&amp;aacute;s avanzados de MVC para el bien de todos.&lt;/p&gt;
&lt;p&gt;Para m&amp;aacute;s informaci&amp;oacute;n sobre esta gran noticia algunos enlaces imperdibles:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2009/04/01/asp-net-mvc-1-0.aspx"&gt;El Post de ScottGu informando ASP.NET MVC 1.0&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://videos.visitmix.com/MIX09/T50F"&gt;ASP.NET en MIX 09&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.asp.net/mvc"&gt;Tutoriales de MVC en ASP.NET&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd394709.aspx"&gt;La documentaci&amp;oacute;n de ASP.NET MVC en MSDN&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Descarga ASP.NET MVC 1.0&lt;/h4&gt;
&lt;p&gt;En la p&amp;aacute;gina de descargas de&amp;nbsp;Microsoft puedes &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&amp;amp;displaylang=en"&gt;descargar el release de Asp.net MVC.&lt;/a&gt; O puedes instalarlo a trav&amp;eacute;s del &lt;a href="http://www.microsoft.com/web/"&gt;Microsoft Web Platform Installer V2&lt;/a&gt;. Si te das cuenta y revisas en la parte inferior de la p&amp;aacute;gina de descarga ver&amp;aacute;s los enlaces tanto para el instalador (MSI), como para el c&amp;oacute;digo fuente, &amp;eacute;ste incluye un proyecto de Visual Studio 2008 para poder compilarlo.&lt;/p&gt;
&lt;p&gt;Muy buenas noticias para todos...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/devlixir/~4/_EDCy8krS-A" height="1" width="1"/&gt;</description><author>Devlixir.com : blog de desarrollo web en espanol, asp.net mvc nhibernate &lt;info@devlixir.com&gt;</author><feedburner:origLink>http://devlixir.com/blog/mvc/microsoft-asp-net-mvc-es-ahora-open-source-ms-pl/</feedburner:origLink></item><item><title>Decisión: Usar Sharp Architecture para desarrollo en MVC</title><link>http://feedproxy.google.com/~r/devlixir/~3/LxTQEnqRJEg/</link><pubDate>Wed, 01 Apr 2009 21:32:00 GMT</pubDate><guid isPermaLink="false">http://devlixir.com/blog/sharp-architecture/usar-sharp-architecture-para-desarrollo-en-mvc/</guid><dc:creator>Javier Romero</dc:creator><slash:comments>0</slash:comments><category domain="http://devlixir.com/blog/sharp-architecture/">Sharp Architecture</category><description>&lt;p&gt;Al comenzar a crear una aplicaci&amp;oacute;n web, sea esta en webforms o en mvc, una de las primeros requisitos a cumplir es la implementaci&amp;oacute;n de una arquitectura base que nos permita construir una aplicaci&amp;oacute;n web mantenible y escalable. Adem&amp;aacute;s, como expliqu&amp;eacute; en el &lt;a href="http://devlixir.com/blog/mvc/asp-net-mvc-ya-esta-en-produccion-y-ahora-que/"&gt;post anterior el implementar mvc&lt;/a&gt; nos presenta otras consideraciones: IOC, Dependency Injection, y en este sentido entra en juego &lt;a href="http://sharparchitecture.net"&gt;Sharp Architecture&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Qu&amp;eacute; es Sharp Architecture?&lt;/h4&gt;
&lt;p&gt;Me limito a citar lo expuesto por el equipo de sharp:&lt;/p&gt;
&lt;p style="margin-left: 40px" class="intro"&gt;Architectural foundation for building maintainable web applications with ASP.NET MVC&lt;/p&gt;
&lt;p&gt;Sharp nos brinda mediante una &lt;a href="http://sharparchitecture.net/downloads.htm"&gt;Plantilla de Proyecto de Visual Studio&lt;/a&gt;, la creaci&amp;oacute;n de una soluci&amp;oacute;n lista con mapeo de base datos utilizando Nhibernate, Inversion of Control (IoC) utilizando Castle Windsor, adiciones y helpers para MVC basadas en MVC Contrib que nos permiten desde ya tener un punto de partida para organizar y arquitecturar nuestra aplicaci&amp;oacute;n.&lt;/p&gt;
&lt;h4&gt;Qu&amp;eacute; ventajas tiene Sharp Architecture?&lt;/h4&gt;
&lt;ol&gt;
    &lt;li&gt;En primer lugar una gu&amp;iacute;a de mejores pr&amp;aacute;cticas para la implementaci&amp;oacute;n de Aplicaciones realmente mantenibles y escalables.&lt;/li&gt;
    &lt;li&gt;Mapeo de Base de Datos: la utilizaci&amp;oacute;n de Nhibernate junto con Fluent-Nhibernate, un ORM Mapper realmente maduro, manejando de forma r&amp;aacute;pida y muchas veces autom&amp;aacute;tica (con AutoPersistance) la interacci&amp;oacute;n con la base de datos.&lt;/li&gt;
    &lt;li&gt;NUnit como framework de pruebas: El proyecto de pruebas est&amp;aacute; basado en Nunit, con scripts listo para la compilaci&amp;oacute;n en un servidor de integraci&amp;oacute;n.&lt;/li&gt;
    &lt;li&gt;Generaci&amp;oacute;n autom&amp;aacute;tica de c&amp;oacute;digo basado en plantillas T4. &amp;nbsp;Las cuales generan los modelos (clases), controladores, vistas de CRUD, mapeo de base datos y pruebas b&amp;aacute;sicas para poder comenzar el desarrollo &amp;quot;en serio&amp;quot;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;C&amp;oacute;mo obtengo Sharp y comienzo a trabajar?&lt;/h4&gt;
&lt;p&gt;1. &lt;em&gt;Descargar la plantilla o el c&amp;oacute;digo fuente:&lt;/em&gt; En &lt;a href="http://code.google.com/p/sharp-architecture/"&gt;Google Code puedes encontrar los &amp;uacute;ltimos releases&lt;/a&gt; o hacer &amp;quot;&lt;a href="http://code.google.com/p/sharp-architecture/source/checkout"&gt;checkout&amp;quot; del trunk para tener la &amp;uacute;ltima versi&amp;oacute;n&lt;/a&gt; desde el repositorio Subversion.&lt;/p&gt;
&lt;p&gt;2. &lt;em&gt;Leer la Documentaci&amp;oacute;n de uso de la plantilla:&lt;/em&gt;&amp;nbsp;Dentro del release existe documentaci&amp;oacute;n de 50 p&amp;aacute;ginas de c&amp;oacute;mo comenzar, exponiendo conceptos b&amp;aacute;sicos de TDD, DDD, Nhibernate y mvc, junto con directivas b&amp;aacute;sicas para el desarrollo utilizando Sharp. Adicionalmente puedes empezar &lt;a href="http://www.codeproject.com/KB/architecture/NHibernateBestPractices.aspx"&gt;leyendo este excelente art&amp;iacute;culo en TheCodeProject&lt;/a&gt; que gu&amp;iacute;a al uso de NHibernate.&lt;/p&gt;
&lt;p&gt;3. &lt;em&gt;Crea tu primera aplicaci&amp;oacute;n con Sharp Architecture.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;El trabajo realizado por el equipo de Sharp es espectacular y en el &lt;a href="http://groups.google.com/group/sharp-architecture"&gt;grupo de Google puedes encontrar mucha informaci&amp;oacute;n y soporte&lt;/a&gt;. Este foro tiene mucho movimiento, lo que indica la madurez y compromiso. Un buen trabajo sin dudar.&lt;/p&gt;
&lt;p&gt;Mientras tanto preparo el material para desde nuestro siguiente encuentro comenzar &amp;quot;manos en la masa&amp;quot; con el desarrollo en Sharp.&lt;/p&gt;
&lt;p&gt;Happy Coding &amp;amp; testing.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/devlixir/~4/LxTQEnqRJEg" height="1" width="1"/&gt;</description><author>Devlixir.com : blog de desarrollo web en espanol, asp.net mvc nhibernate &lt;info@devlixir.com&gt;</author><feedburner:origLink>http://devlixir.com/blog/sharp-architecture/usar-sharp-architecture-para-desarrollo-en-mvc/</feedburner:origLink></item><item><title>Asp.net MVC ya está en producción y ahora que?</title><link>http://feedproxy.google.com/~r/devlixir/~3/-8g-wutqZe4/</link><pubDate>Tue, 31 Mar 2009 02:17:00 GMT</pubDate><guid isPermaLink="false">http://devlixir.com/blog/mvc/asp-net-mvc-ya-esta-en-produccion-y-ahora-que/</guid><dc:creator>Javier Romero</dc:creator><slash:comments>1</slash:comments><category domain="http://devlixir.com/blog/mvc/">MVC</category><description>&lt;p&gt;En el &lt;a target="_blank" href="http://live.visitmix.com/"&gt;Mix 09&lt;/a&gt;, el equipo liderado por &lt;a target="_blank" href="http://weblogs.asp.net/scottgu/"&gt;Scott Guthrie&lt;/a&gt;, realiz&amp;oacute; el lanzamiento de la versi&amp;oacute;n final del framework de presentaci&amp;oacute;n asp.net mvc 1.0, un acontecimiento para algunos, una novedad para otros, algo nuevo para aprender para algunos y una gran oportunidad para otros. &amp;Eacute;ste &amp;uacute;ltimo punto es el que me ata&amp;ntilde;e y el punto sobre el cual se basa el concepto de este sitio.&lt;/p&gt;
&lt;p&gt;Ir un paso m&amp;aacute;s all&amp;aacute; y encontrar dentro de todo este revuelo de asp.net mvc la utilidad &amp;ldquo;real&amp;rdquo; con &amp;ldquo;beneficios de negocios&amp;rdquo; palpables que nos permita el tiempo de &amp;ldquo;investigaci&amp;oacute;n&amp;rdquo; dentro de las organizaciones en la que laboramos. Y es que lo tenemos claros, el inmiscuirnos en algo nuevo es emocionante, cautivamente y hasta divertido&amp;hellip; pero extremadamente demandante de tiempo necesario para otros proyectos.&lt;/p&gt;
&lt;p&gt;As&amp;iacute; Devlixir publicar&amp;aacute; una serie de art&amp;iacute;culos en base a la experiencia con la implementaci&amp;oacute;n de las versiones Beta, RC1 y RC2 de mvc, decisiones de arquitectura, comentarios sobre la validez y eficiencia del uso de mvc y en qu&amp;eacute; escenarios.&lt;/p&gt;
&lt;h3&gt;MVC, m&amp;aacute;s all&amp;aacute; de la Vista y el Controlador.&lt;/h3&gt;
&lt;p&gt;La adopci&amp;oacute;n de mvc para desarrollo web, es m&amp;aacute;s que simplemente cambiar la forma en la que realizamos la capa de presentaci&amp;oacute;n. Para m&amp;iacute; y mi equipo es la oportunidad de implementar m&amp;aacute;s estrategias de ingenier&amp;iacute;a al desarrollo web que nos permitan seguir brindando aplicaciones de calidad, escalables, seguras y accesibles de casi cualquier dispositivo. Brindando a la vez experiencias realmente ricas a los usuarios.&lt;/p&gt;
&lt;p&gt;Conceptos como &lt;a target="_blank" href="http://es.wikipedia.org/wiki/Tdd"&gt;Test Driven Development (TDD)&lt;/a&gt;, &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Domain_driven_design"&gt;Domain Driven Design(DDD)&lt;/a&gt;, &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Inversion_of_control"&gt;Inversion of Control (IoC)&lt;/a&gt; aplicados a soluciones a nivel empresarial y de corporaciones, integrando sistemas, listas para crecer y con &lt;a target="_blank" href="http://es.wikipedia.org/wiki/Prueba_unitaria"&gt;gesti&amp;oacute;n de calidad desde la m&amp;iacute;nima unidad de c&amp;oacute;digo&lt;/a&gt; son como m&amp;uacute;sica para mis o&amp;iacute;dos expectantes de retos e innovaciones.&lt;/p&gt;
&lt;h3&gt;Lo que nos espera&lt;/h3&gt;
&lt;p&gt;Pues lo que espero podamos cumplir en este blog es la publicaci&amp;oacute;n de art&amp;iacute;culos de principio a fin de la implementaci&amp;oacute;n de mvc para un proyecto &amp;ldquo;real&amp;rdquo;, definiendo como real no el proyecto en s&amp;iacute;, sino el contexto de ejecuci&amp;oacute;n de la aplicaci&amp;oacute;n, su impacto en el negocio del &amp;ldquo;cliente ficticio&amp;rdquo;, la implantaci&amp;oacute;n de este framework &amp;ndash; metodolog&amp;iacute;a &amp;ndash; patr&amp;oacute;n &amp;ndash;&amp;nbsp; etc. en un equipo multidisciplinario de desarrollo, buscando resultados y &amp;eacute;xitos palpables.&lt;/p&gt;
&lt;p&gt;Espera el resto de posts&amp;hellip; empezaremos con conceptos y decisiones&amp;hellip;&lt;/p&gt;
&lt;p&gt;Nos vemos&amp;hellip; happy coding (y testing)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/devlixir/~4/-8g-wutqZe4" height="1" width="1"/&gt;</description><author>Devlixir.com : blog de desarrollo web en espanol, asp.net mvc nhibernate &lt;info@devlixir.com&gt;</author><feedburner:origLink>http://devlixir.com/blog/mvc/asp-net-mvc-ya-esta-en-produccion-y-ahora-que/</feedburner:origLink></item></channel></rss>
