<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for IDisposable Thoughts</title>
	<atom:link href="http://cprieto.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://cprieto.com</link>
	<description>Honey... where&#039;s my coding t-shirt?</description>
	<lastBuildDate>Thu, 09 Feb 2012 20:33:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<item>
		<title>Comment on El espejismo de la separacion por capas, toma dos by Ge</title>
		<link>http://cprieto.com/2011/10/28/el-espejismo-de-la-separacion-por-capas-toma-dos/#comment-1311</link>
		<dc:creator>Ge</dc:creator>
		<pubDate>Thu, 09 Feb 2012 20:33:00 +0000</pubDate>
		<guid isPermaLink="false">http://cprieto.com/index.php/2011/10/28/el-espejismo-de-la-separacion-por-capas-toma-dos/#comment-1311</guid>
		<description>Ese argumento sobre MVC lo tumbaron diciendo que son &quot;niveles&quot; no &quot;capas&quot;.</description>
		<content:encoded><![CDATA[<p>Ese argumento sobre MVC lo tumbaron diciendo que son &#8220;niveles&#8221; no &#8220;capas&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on .NET y Configuraciones – Parte 10 by Salvador Soberanes</title>
		<link>http://cprieto.com/2011/05/14/net-y-configuraciones-parte-10/#comment-1303</link>
		<dc:creator>Salvador Soberanes</dc:creator>
		<pubDate>Wed, 01 Feb 2012 07:58:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.cprieto.com/index.php/2011/05/14/net-y-configuraciones-parte-10/#comment-1303</guid>
		<description>Excelente post!
Hace rato que me meti a crear mis propias configuraciones personales en .net, lo hice para un dll simple que cacha y logea errores. Pero me quede un poco trabado al quererle agregar intellisense a mis configuraciones. Pude hacerlo al crear un xml donde defino la estructura y los posibles valores de mis seccion de configuracion. Sin embargo, cuando agrego el dll a otros proyectos, tengo que agregarle tambien el xml para que agarre el intellisense. Alguna vez has hecho algo similar? Quisiera saber si hay manera de incluir el xml en el dll y no tener que agregarlo a cada proyecto que consuma ese dll.
Gracias</description>
		<content:encoded><![CDATA[<p>Excelente post!<br />
Hace rato que me meti a crear mis propias configuraciones personales en .net, lo hice para un dll simple que cacha y logea errores. Pero me quede un poco trabado al quererle agregar intellisense a mis configuraciones. Pude hacerlo al crear un xml donde defino la estructura y los posibles valores de mis seccion de configuracion. Sin embargo, cuando agrego el dll a otros proyectos, tengo que agregarle tambien el xml para que agarre el intellisense. Alguna vez has hecho algo similar? Quisiera saber si hay manera de incluir el xml en el dll y no tener que agregarlo a cada proyecto que consuma ese dll.<br />
Gracias</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on El espejismo de la separacion por capas, toma dos by Salvador Soberanes</title>
		<link>http://cprieto.com/2011/10/28/el-espejismo-de-la-separacion-por-capas-toma-dos/#comment-1302</link>
		<dc:creator>Salvador Soberanes</dc:creator>
		<pubDate>Wed, 01 Feb 2012 07:37:00 +0000</pubDate>
		<guid isPermaLink="false">http://cprieto.com/index.php/2011/10/28/el-espejismo-de-la-separacion-por-capas-toma-dos/#comment-1302</guid>
		<description>Entonces.... A programar todo en el UI!!!

Bueno ya en serio, creo que tu post es bastante claro al dejar ver que no te caen muy bien eso de las &#039;capas&#039;. Me hubiera gustado que explicaras o sugirieras alguna alternativa a este modelo.
Ya tengo rato programando mis aplicaciones con este modelo, y para ser honestos me ha pasado mas de una vez que.. tengo alguna clases o metodo en mi capa de negocio que a su vez manda a llamar a la capa de datos, sin ejecutar ninguna &#039;logica de negocio&#039;, entonces es cuando surge la confusion y me pregunto si acaso tiene sentido tener a esa capa de negocios como intermediario entre mi capa de presentacion y mi capa de datos.

Aun asi, yo creo que el problema con las capas no es el modelo en si, sino las personas que tratamos de ejecutar dicho modelo. Si nomas nos ponemos a programar y hacer capas y capas solo por que asi nos enseniaron que debiamos de programar, vamos a terminar con un serio problema de arquitectura y dependencia entre capas. En todo momento se tiene que estar conciente de lo que se esta haciendo y para que lo estamos haciendo.

En mi punto de vista, la idea fundamental del modelo de capas es aplicar la Separacion de Responsabilidades. Tomando como ejemplo la Capa de Datos, responsable de persistir nuestras entidades en una base de datos, un archivo, etc. La verdad yo encuentro muy pero muy util tener toda esa logica de persistencia en un solo lugar, es mas facil de mantener, mas facil de extender, mas facil de reutilizar. 
Y bueno, como dices, a lo mejor ya no tiene sentido tener una capa de datos, con tanto ORM ahi afuera. Sin embargo, yo veo a esos ORM como una Capa de Datos en si, cuya unica responsabilidad es accesar datos y persistirlos.

Hablemos de MVC, se tienen los Modelos, que son nuestros objetos de negocio, ahi vive la logica de negocio, de validacion, las llamadas a nuestra capa de datos ( o en su caso un ORM), se tienen las Vistas, meramente logica de presentacion, se tienen los Controladores, los cuales canalizan y conectan nuestros modelos con las vistas. Para mi eso suenan como &#039;capas&#039;, cada uno responsable de cosas diferentes. 

En conclusion, creo que el modelo de capas carece de sentido si nomas haces capas por que asi te dijeron que se tenian que hacer. Sin embargo creo que es totalmente valido si lo que quieres es organizar tu codigo y separar las responsabilidades de tus clases para tener un mejor control, manejo y organizacion de las mismas.

Saludos</description>
		<content:encoded><![CDATA[<p>Entonces&#8230;. A programar todo en el UI!!!</p>
<p>Bueno ya en serio, creo que tu post es bastante claro al dejar ver que no te caen muy bien eso de las &#8216;capas&#8217;. Me hubiera gustado que explicaras o sugirieras alguna alternativa a este modelo.<br />
Ya tengo rato programando mis aplicaciones con este modelo, y para ser honestos me ha pasado mas de una vez que.. tengo alguna clases o metodo en mi capa de negocio que a su vez manda a llamar a la capa de datos, sin ejecutar ninguna &#8216;logica de negocio&#8217;, entonces es cuando surge la confusion y me pregunto si acaso tiene sentido tener a esa capa de negocios como intermediario entre mi capa de presentacion y mi capa de datos.</p>
<p>Aun asi, yo creo que el problema con las capas no es el modelo en si, sino las personas que tratamos de ejecutar dicho modelo. Si nomas nos ponemos a programar y hacer capas y capas solo por que asi nos enseniaron que debiamos de programar, vamos a terminar con un serio problema de arquitectura y dependencia entre capas. En todo momento se tiene que estar conciente de lo que se esta haciendo y para que lo estamos haciendo.</p>
<p>En mi punto de vista, la idea fundamental del modelo de capas es aplicar la Separacion de Responsabilidades. Tomando como ejemplo la Capa de Datos, responsable de persistir nuestras entidades en una base de datos, un archivo, etc. La verdad yo encuentro muy pero muy util tener toda esa logica de persistencia en un solo lugar, es mas facil de mantener, mas facil de extender, mas facil de reutilizar. <br />
Y bueno, como dices, a lo mejor ya no tiene sentido tener una capa de datos, con tanto ORM ahi afuera. Sin embargo, yo veo a esos ORM como una Capa de Datos en si, cuya unica responsabilidad es accesar datos y persistirlos.</p>
<p>Hablemos de MVC, se tienen los Modelos, que son nuestros objetos de negocio, ahi vive la logica de negocio, de validacion, las llamadas a nuestra capa de datos ( o en su caso un ORM), se tienen las Vistas, meramente logica de presentacion, se tienen los Controladores, los cuales canalizan y conectan nuestros modelos con las vistas. Para mi eso suenan como &#8216;capas&#8217;, cada uno responsable de cosas diferentes. </p>
<p>En conclusion, creo que el modelo de capas carece de sentido si nomas haces capas por que asi te dijeron que se tenian que hacer. Sin embargo creo que es totalmente valido si lo que quieres es organizar tu codigo y separar las responsabilidades de tus clases para tener un mejor control, manejo y organizacion de las mismas.</p>
<p>Saludos</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on El espejismo de la separacion por capas, toma dos by Alfredo Pinto</title>
		<link>http://cprieto.com/2011/10/28/el-espejismo-de-la-separacion-por-capas-toma-dos/#comment-1301</link>
		<dc:creator>Alfredo Pinto</dc:creator>
		<pubDate>Tue, 31 Jan 2012 03:41:00 +0000</pubDate>
		<guid isPermaLink="false">http://cprieto.com/index.php/2011/10/28/el-espejismo-de-la-separacion-por-capas-toma-dos/#comment-1301</guid>
		<description>Si me permiten poner mis grano de arena. El concepto de capas se aplica mas en el desarrollo orientado a entidades (que obvio tiene que estar orientado a objetos), sin esto estoy de acuerdo en que carece de sentido. Cuando la arquitectura esta orientada entidades es excelente para la reutilización y mantenimiento de código.

La mayoria de los desarrolladores nuevos solo les enseñan a diseñár bases dedatos con el modelo &quot;Relacional&quot; y no a diseñar con el modelo &quot;Entidad-Relacion&quot; (he visto muchos diagramas que según son Entidad-Relacion y ni relacionales son). Estando diseñada la base de datos en este modelo la capa de negocio se diseña de acuerdo a las entidades y el desarrollo en equipos de trabajo y sobre todo el mantenimiento queda mucho mas sencillo a que si se hace una aplicación monolítica. Las aplicaciones monoliticas siempre funcionaran perfectas para un desarrollador unico o desarrollos donde cada miembro del equipo de trabajo tiene asiganda una parte del codigo y nadie mas lo toca.

Malamente a veces a la capa de negocios le dicen una clase que contiene todo el código o los metodos mapeados a la base de datos como si fuera el ORM y así no es el modelo.

Para revisar sobre arquitecturas .NET pueden checar http://apparch.codeplex.com/

Para mi gusto la aplicacion si debe de tener una estructura de capas, aunque ya se que las formas de desarrollo son como la religion, jejeje</description>
		<content:encoded><![CDATA[<p>Si me permiten poner mis grano de arena. El concepto de capas se aplica mas en el desarrollo orientado a entidades (que obvio tiene que estar orientado a objetos), sin esto estoy de acuerdo en que carece de sentido. Cuando la arquitectura esta orientada entidades es excelente para la reutilización y mantenimiento de código.</p>
<p>La mayoria de los desarrolladores nuevos solo les enseñan a diseñár bases dedatos con el modelo &#8220;Relacional&#8221; y no a diseñar con el modelo &#8220;Entidad-Relacion&#8221; (he visto muchos diagramas que según son Entidad-Relacion y ni relacionales son). Estando diseñada la base de datos en este modelo la capa de negocio se diseña de acuerdo a las entidades y el desarrollo en equipos de trabajo y sobre todo el mantenimiento queda mucho mas sencillo a que si se hace una aplicación monolítica. Las aplicaciones monoliticas siempre funcionaran perfectas para un desarrollador unico o desarrollos donde cada miembro del equipo de trabajo tiene asiganda una parte del codigo y nadie mas lo toca.</p>
<p>Malamente a veces a la capa de negocios le dicen una clase que contiene todo el código o los metodos mapeados a la base de datos como si fuera el ORM y así no es el modelo.</p>
<p>Para revisar sobre arquitecturas .NET pueden checar http://apparch.codeplex.com/</p>
<p>Para mi gusto la aplicacion si debe de tener una estructura de capas, aunque ya se que las formas de desarrollo son como la religion, jejeje</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Conditional command execution in Powershell by troy</title>
		<link>http://cprieto.com/2011/06/08/conditional-command-execution-in-powershell/#comment-1282</link>
		<dc:creator>troy</dc:creator>
		<pubDate>Wed, 21 Dec 2011 03:24:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.cprieto.com/index.php/2011/06/08/conditional-command-execution-in-powershell/#comment-1282</guid>
		<description>nice trick! </description>
		<content:encoded><![CDATA[<p>nice trick!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Generating generic delegates with expression trees by cprieto</title>
		<link>http://cprieto.com/2011/10/22/generating-generic-delegates-with-expression-trees/#comment-1273</link>
		<dc:creator>cprieto</dc:creator>
		<pubDate>Thu, 15 Dec 2011 05:46:00 +0000</pubDate>
		<guid isPermaLink="false">http://cprieto.com/index.php/2011/10/22/generating-generic-delegates-with-expression-trees/#comment-1273</guid>
		<description>To be honest I didn&#039;t think about that, thanks for your comment Patrik... simple and a lot more easy than my overcomplicated solution... :)</description>
		<content:encoded><![CDATA[<p>To be honest I didn&#8217;t think about that, thanks for your comment Patrik&#8230; simple and a lot more easy than my overcomplicated solution&#8230; <img src='http://cprieto.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Workflow Foundation, Cuándo, Cómo, Dónde by Jose Ahumada Soto</title>
		<link>http://cprieto.com/2010/03/23/workflow-foundation-cuando-como-donde/#comment-1268</link>
		<dc:creator>Jose Ahumada Soto</dc:creator>
		<pubDate>Sat, 10 Dec 2011 21:45:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.cprieto.com/index.php/2010/03/23/workflow-foundation-cundo-cmo-dnde/#comment-1268</guid>
		<description>Hola soy nuevo en esto del workflow y cree que es un poco confusa la implementacion pero me ayudo bastante tu articulo muchas gracias por ayudar a los menos entendidos!! </description>
		<content:encoded><![CDATA[<p>Hola soy nuevo en esto del workflow y cree que es un poco confusa la implementacion pero me ayudo bastante tu articulo muchas gracias por ayudar a los menos entendidos!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on El espejismo de la separacion por capas, toma dos by Ge</title>
		<link>http://cprieto.com/2011/10/28/el-espejismo-de-la-separacion-por-capas-toma-dos/#comment-1245</link>
		<dc:creator>Ge</dc:creator>
		<pubDate>Fri, 25 Nov 2011 03:05:00 +0000</pubDate>
		<guid isPermaLink="false">http://cprieto.com/index.php/2011/10/28/el-espejismo-de-la-separacion-por-capas-toma-dos/#comment-1245</guid>
		<description>Excelente!
Hace rato plantee una discusión en el MUG sobre este tema; mi tesis era que las capas no eran un patrón sino una metodología. Lamentablemente no supe llevarla y terminé invocando fundamentales.Con el tiempo deduje que las capas aparecen &quot;a posteriori&quot; pues son obvias debido a la retrospección. De ahí la incomodidad obvia señalada en el artículo.
El concepto de capas es más claro desde el punto de vista metodológico, pues como dice la wikipedia, se trata &quot;de una posición teórica y conlleva a una selección de técnicas concretas (o métodos) de como se van a realizar las tareas asociadas a la investigación, trabajo o proyecto.&quot;
Resulta obvio que se requiere un &quot;acceso a datos&quot; y un mecanismo de &quot;presentación&quot;, pero separar las responsabilidades &quot;a priori&quot; (como se hace con un patrón de diseño), va en contra de la separación física mencionada, impuesta por herramientas cada vez más completas y complejas.</description>
		<content:encoded><![CDATA[<p>Excelente!<br />
Hace rato plantee una discusión en el MUG sobre este tema; mi tesis era que las capas no eran un patrón sino una metodología. Lamentablemente no supe llevarla y terminé invocando fundamentales.Con el tiempo deduje que las capas aparecen &#8220;a posteriori&#8221; pues son obvias debido a la retrospección. De ahí la incomodidad obvia señalada en el artículo.<br />
El concepto de capas es más claro desde el punto de vista metodológico, pues como dice la wikipedia, se trata &#8220;de una posición teórica y conlleva a una selección de técnicas concretas (o métodos) de como se van a realizar las tareas asociadas a la investigación, trabajo o proyecto.&#8221;<br />
Resulta obvio que se requiere un &#8220;acceso a datos&#8221; y un mecanismo de &#8220;presentación&#8221;, pero separar las responsabilidades &#8221;a priori&#8221; (como se hace con un patrón de diseño), va en contra de la separación física mencionada, impuesta por herramientas cada vez más completas y complejas.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on El espejismo de la separacion por capas, toma dos by Oscar Gavilan</title>
		<link>http://cprieto.com/2011/10/28/el-espejismo-de-la-separacion-por-capas-toma-dos/#comment-1244</link>
		<dc:creator>Oscar Gavilan</dc:creator>
		<pubDate>Thu, 24 Nov 2011 18:20:00 +0000</pubDate>
		<guid isPermaLink="false">http://cprieto.com/index.php/2011/10/28/el-espejismo-de-la-separacion-por-capas-toma-dos/#comment-1244</guid>
		<description>Creo que mas que nunca el concepto de capa tiene sentido, pues cada vez se tienen mas posibilidades de Uso. Por ejemplo, el acceso a datos se puede hacer y se hace en estos dias por base de datos, NoSql, Web Services, etc. Entonces tiene sentido tener una capa de acceso a datos, sea que esta use hibernate, otro ORM, alguna libreria propietaria para NoSql, o un cliente de web services que este separada de la logica de negocio. Aun mas valioso, creo yo, es separar la capa de presentacion, de la capa de negocio, porque 1) En cualquier aplicación de tamaño mediano, existe logica de presentacion, cuyo proposito es muy diferente de la logica de negocio. 2) Es muy factible que la tecnología que se utilice para la presentación cambie mas rápido que la que se utiliza para acceso a datos o la lógica de negocios. Entonces es bueno tener una capa de presentación que sea fácilmente reemplazable. Dejar fuera el concepto de capas, a mi parecer, es pensar que podemos hacer aplicaciones arquitecturalmente mal diseñadas, solo porque es posible.</description>
		<content:encoded><![CDATA[<p>Creo que mas que nunca el concepto de capa tiene sentido, pues cada vez se tienen mas posibilidades de Uso. Por ejemplo, el acceso a datos se puede hacer y se hace en estos dias por base de datos, NoSql, Web Services, etc. Entonces tiene sentido tener una capa de acceso a datos, sea que esta use hibernate, otro ORM, alguna libreria propietaria para NoSql, o un cliente de web services que este separada de la logica de negocio. Aun mas valioso, creo yo, es separar la capa de presentacion, de la capa de negocio, porque 1) En cualquier aplicación de tamaño mediano, existe logica de presentacion, cuyo proposito es muy diferente de la logica de negocio. 2) Es muy factible que la tecnología que se utilice para la presentación cambie mas rápido que la que se utiliza para acceso a datos o la lógica de negocios. Entonces es bueno tener una capa de presentación que sea fácilmente reemplazable. Dejar fuera el concepto de capas, a mi parecer, es pensar que podemos hacer aplicaciones arquitecturalmente mal diseñadas, solo porque es posible.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on JustCode is not loading in Visual Studio 2011 by Vladimir Dragoev</title>
		<link>http://cprieto.com/2011/11/06/justcode-is-not-loading-in-visual-studio-2011/#comment-1243</link>
		<dc:creator>Vladimir Dragoev</dc:creator>
		<pubDate>Fri, 18 Nov 2011 09:32:00 +0000</pubDate>
		<guid isPermaLink="false">http://cprieto.com/index.php/2011/11/06/justcode-its-not-loading-in-visual-studio-2011/#comment-1243</guid>
		<description>Hi again Cristian,

I&#039;m happy to follow up and let you know that the issue with Visual Studio 11 you describe is fixed in the latest official 2011 Q3 release of JustCode. Please give it a try and let us know what you think.

Kind regards,
Vladi
The Telerik team</description>
		<content:encoded><![CDATA[<p>Hi again Cristian,</p>
<p>I&#8217;m happy to follow up and let you know that the issue with Visual Studio 11 you describe is fixed in the latest official 2011 Q3 release of JustCode. Please give it a try and let us know what you think.</p>
<p>Kind regards,<br />
Vladi<br />
The Telerik team</p>
]]></content:encoded>
	</item>
</channel>
</rss>

