{"id":913,"date":"2010-03-11T12:55:00","date_gmt":"2010-03-11T12:55:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/cesardelatorre\/2010\/03\/11\/nuestro-nuevo-libro-guia-de-arquitectura-n-capas-ddd-net-4-0-y-aplicacion-ejemplo-en-disponibles-para-download-en-msdn-y-codeplex\/"},"modified":"2010-03-11T12:55:00","modified_gmt":"2010-03-11T12:55:00","slug":"nuestro-nuevo-libro-guia-de-arquitectura-n-capas-ddd-net-4-0-y-aplicacion-ejemplo-en-disponibles-para-download-en-msdn-y-codeplex","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/nuestro-nuevo-libro-guia-de-arquitectura-n-capas-ddd-net-4-0-y-aplicacion-ejemplo-en-disponibles-para-download-en-msdn-y-codeplex\/","title":{"rendered":"Nuestro nuevo Libro-Guia de &#8216;Arquitectura N-Capas DDD .NET 4.0\u2019 y Aplicacion ejemplo en (Disponibles para download en MSDN y Codeplex)"},"content":{"rendered":"<p><a href=\"http:\/\/msdn.microsoft.com\/cc982177.aspx\"><img decoding=\"async\" title=\"Platform Architecture Team\" src=\"http:\/\/i.msdn.microsoft.com\/aa699358.MoA-Small(en-us,MSDN.10).png\" alt=\"Platform Architecture Team\" align=\"left\" \/><\/a><a href=\"\/Users\/cesardl.EUROPE\/AppData\/Local\/Temp\/WindowsLiveWriter1286139640\/supfiles3A3621B4\/image3.png\"><img decoding=\"async\" style=\"border: 0px\" title=\"image_thumb1\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/image_thumb1_539961dc-9673-47b6-9f03-a8748fabc194.png\" alt=\"image_thumb1\" width=\"440\" height=\"140\" border=\"0\" \/><\/a><\/p>\n<p><strong>[UPDATED &#8211; April\u00a02017] &#8211; IMPORTANT: \u00a0<span>For up-to-date architecture and development guidance using .NET (i.e. .NET Core, ASP.NET Core, Docker containers, etc.) including Domain-Driven Design patterns, microservices architectures and other .NET related technologies like Xamarin for mobile apps check this landing page pointing to multiple NEW guides and reference applications:<\/span><\/strong><\/p>\n<p><a href=\"https:\/\/www.microsoft.com\/net\/architecture\/\">https:\/\/www.microsoft.com\/net\/architecture\/<\/a><\/p>\n<p>Specifically, most of the DDD (Domain-Driven Design) patterns explained in the guidance written in 2010\/2011 are still valid nowadays, however all the technologies have evolved significantly. Also, many new architecture patterns like Microservices Architecture *which is deriving from Domain-Driven Design) have been polished and improved over the years.<\/p>\n<ul>\n<li>For an up-to-date guide\/eBook on Microservices\/Containers Architecture with .NET Core, check this:\n<ul>\n<li><a href=\"http:\/\/aka.ms\/MicroservicesEbook\">http:\/\/aka.ms\/MicroservicesEbook<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>For an up-to-date reference application\u00a0on Microservices\/Containers Architecture with .NET Core, check this:\n<ul>\n<li><a href=\"http:\/\/aka.ms\/MicroservicesArchitecture\">http:\/\/aka.ms\/MicroservicesArchitecture<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong><\/strong>Thanks,<\/p>\n<p>Cesar.<\/p>\n<p>\/\/\/\/\/\/\/\/\/\/<\/p>\n<p>\/\/\/\/\/\/\/\/\/\/<\/p>\n<p>Acabamos de publicar (Microsoft DPE &#8211; Spain ) en <strong>MSDN<\/strong>-Espa\u00f1a y <strong>CODEPLEX<\/strong> nuestra nuevo Libro-Gu\u00eda de <strong>&#8216;Arquitectura N-Capas DDD .NET 4.0\u2019 y Aplicaci\u00f3n ejemplo <\/strong>(Libro electr\u00f3nico disponible para download gratuito y el mismo libro impreso en papel para regalar en nuestros eventos), as\u00ed como su <strong>Aplicaci\u00f3n Ejemplo (publicada en CODEPLEX)<\/strong>, todo ello basado en tendencias de Arquitectura y patrones <strong>DDD (<em>Domain Driven Design<\/em>)<\/strong> as\u00ed como en la ola de <strong>.NET 4.0, Entity Framework 4.0, Unity, WCF, PEX<\/strong> (Moles &amp; Stubs) para Unit Testing y mocking, etc.<\/p>\n<p>El libro est\u00e1 todav\u00eda en <strong>estado preliminar\/borrador<\/strong>, pues todav\u00eda hay aspectos que queremos perfeccionar y otros aspectos a a\u00f1adir. Pero es una versi\u00f3n suficientemente buena como para ser revisada y dar feed-back de ello.<\/p>\n<p>Lo mismo respecto a la <strong>aplicaci\u00f3n ejemplo en CODEPLEX. Es todav\u00eda una versi\u00f3n beta<\/strong>, con bastantes cosas por perfeccionar, pero ya muestra una implementaci\u00f3n N-Capas DDD extremo a extremo. Y seguir\u00e1 creciendo!!\u2026 \ud83d\ude42<\/p>\n<p>Hemos estado trabajando sobre ello un conjunto de Arquitectos, desarolladores y dise\u00f1adores UX tanto de Microsoft-Spain como de varios partners, durante varios meses. La verdad es que estamos muy contentos con los resultados iniciales. En Espa\u00f1a est\u00e9 teniendo una gran acogida en los Eventos para Arquitectos que acabamos de hacer, as\u00ed como en Internet (MSDN y CODEPLEX).<\/p>\n<p><strong>Diagrama de Arquitectura con Orientaci\u00f3n al Dominio (DDD) y Cubierta e \u00edndice del libro<\/strong><\/p>\n<table style=\"width: 860px\" border=\"0\" cellspacing=\"0\" cellpadding=\"2\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"476\"><img decoding=\"async\" style=\"margin-left: 0px;margin-right: 0px\" src=\"http:\/\/y0lekw.blu.livefilestore.com\/y1pjBDB2THRk2WF7Z5KnzrriJn48Rh0ICNMkstkV0A7s3A2hydg5_Vhf9op3IjHf0RU1qtjYFXvB9-0YwZYoYesDhyX7LgQsiEF\/DDD_NLAYER_ARCHITECTURE_SMALL.png\" alt=\"\" width=\"458\" height=\"343\" align=\"left\" \/><\/td>\n<td valign=\"top\" width=\"382\"><strong>e-Book (gratis) \u2013 Versi\u00f3n preliminar (03\/2010)<\/strong>\n<a href=\"\/Users\/cesardl.EUROPE\/AppData\/Local\/Temp\/WindowsLiveWriter1286139640\/supfiles3A3621B4\/image6.png\"><img decoding=\"async\" style=\"border: 0px\" title=\"image_thumb3\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/image_thumb3_1df2a4bf-73d3-491b-a1b6-8e04bbaafe80.png\" alt=\"image_thumb3\" width=\"379\" height=\"281\" border=\"0\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Resumen del Libro-Gu\u00eda y de la Aplicaci\u00f3n ejemplo<\/strong><\/p>\n<p>Este libro muestra la mayor\u00eda de los aspectos arquitecturales y patrones definidos originalmente por Eric Evans as\u00ed como tambi\u00e9n patrones de Martin Fowler, y principios de dise\u00f1o <strong>\u2019SOLID\u2019<\/strong>. Por lo tanto, exponemos primero a nivel te\u00f3rico la arquitectura, capa a capa en DDD, y sus patrones (<strong><em>Entity, POCO\/IPOCO Entities, Value-Object, Aggregates, Repository, Unit of Work, Specification pattern, etc.<\/em><\/strong>) y posteriormente, en la segunda parte de cada capitulo, exponemos como implementarlo en <strong>.NET 4.0<\/strong>, con tecnolog\u00edas como ADO.NET <strong>Entity Framework 4.0 , Unity, Servicios WCF, and PEX (Stubs and Moles)<\/strong>, <strong>WPF, Silverlight 4.0<\/strong>, <strong>AppFabric<\/strong> (\u2018<strong>Dublin<\/strong>\u2019), <strong>AppFabric-Cache<\/strong> (\u2018<strong>Velocity<\/strong>\u2019) etc.<\/p>\n<p>Relativo a la aplicaci\u00f3n ejemplo, se muestra con un ejemplo pr\u00e1ctico con una implementaci\u00f3n extremo a extremo de todo lo que explicamos en el libro. La versi\u00f3n actual posee todo el \u2018core\u2019 de DDD, con EF 4.0, Unity, Servicios WCF, PEX, etc., y estamos trabajando actualmente en una versi\u00f3n con un cliente SL4.0, AppFabric, cache, WF, etc.<\/p>\n<p><em><strong>Downloads gratuitos del Libro-Gu\u00eda y Aplicaci\u00f3n ejemplo en CODEPLEX<\/strong>:<\/em><\/p>\n<table style=\"width: 786px\" border=\"0\" cellspacing=\"0\" cellpadding=\"2\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"784\"><strong><em>Download<\/em> &#8211; <em>Libro-Gu\u00eda de <\/em><strong><em>&#8216;Arquitectura N-Capas DDD .NET 4.0\u2019<\/em> <\/strong><em>&#8211; (e-Book en ESPA\u00d1OL)<\/em><\/strong>\n<img decoding=\"async\" title=\"\" src=\"http:\/\/i.msdn.microsoft.com\/aa699358.icono_pdf(es-es,MSDN.10).gif\" alt=\"\" width=\"27\" height=\"26\" align=\"left\" hspace=\"5\" \/>\nhttps:\/\/1drv.ms\/u\/s!Ag33_uWyTcH5n9g6pTGYuXWL9t9uLg<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"784\"><strong><em>Download<\/em> \u2013 Aplicaci\u00f3n ejemplo en (<em>Ingl\u00e9s, para proyecci\u00f3n internacional<\/em>)<\/strong>\n<img decoding=\"async\" title=\"\" src=\"http:\/\/i.msdn.microsoft.com\/ee402630.CodePlex_sm(en-us,MSDN.10).png\" alt=\"\" align=\"left\" hspace=\"5\" \/> https:\/\/1drv.ms\/u\/s!Ag33_uWyTcH5n9g2UGtmmF11BefagQ<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><strong>Objetivos<\/strong><\/p>\n<p>Este punto es muy importante. Es de destacar que DDD y po lo tanto nuestra gu\u00eda de Arquitectura est\u00e1 especialmente dise\u00f1ado para aplicaciones complejas con un volumen importante de l\u00f3gica de negocio. Aplicaciones que tienen una vida larga y un mantenimiento y cambio de su l\u00f3gica de negocio, donde se quiere aislar y proteger la Capa del Dominio\/Negocio de la \u2018contaminaci\u00f3n\u2019 de tecnolog\u00edas concretas. As\u00ed pues, esta Arquitectura NO es para aplicaciones peque\u00f1as o aplicaciones dirigidas simplemente por datos (CRUD, etc.). Si se quiere hacer este otro tipo de apps mas reducidas, recomendamos por el contrario, utilizar otra aproximaci\u00f3n, como tecnolog\u00edas <em>RAD (Rappid Application Development<\/em>) como WCF-RIA-Services, que son arquitecturas mucho mas sencillas y f\u00e1ciles de implementar, mas productivas inicialmente, aunque mucho mas acopladas sus capas y no tan id\u00f3neas por otro lado para grandes aplicaciones con una vida larga de cambios.<\/p>\n<p><strong>Aplicaci\u00f3n ejemplo en Codeplex (Se muestra el cliente WPF)<\/strong><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/y0lekw.blu.livefilestore.com\/y1p0A60PEHYIcEzS5k9knNJzOymhozk3MMvJZoj01HImr70e4l6xJajLMZkmQHaFNy9c4EDa55_pGmIdPGXqfDDzFlC6lcwc51s\/Nlayer_AppSample_Screen01.png\" alt=\"\" width=\"384\" height=\"256\" \/><img decoding=\"async\" src=\"http:\/\/y0lekw.blu.livefilestore.com\/y1p-uJFjS-QHex5BMB92IqJO9xT2eRl1pCLwuPf28YKhtXWom0WMyLje7fyVRenU1Q5VOp-rnIQtfnT9sLQ28cCHfMxLC5_6CIy\/Nlayer_AppSample_Screen02.png\" alt=\"\" width=\"384\" height=\"256\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Software \u2018de base\u2019 requerido para la versi\u00f3n actual<\/strong><\/p>\n<p><em>&#8211; Microsoft Visual Studio 2010 &#8211; RC <\/em>\n<em>&#8211; Microsoft SQL Server 2008 Express (or higher) <\/em>\n<em>&#8211; Microsoft Unity 1.2 (We&#8217;ll migrate to Unity 2.0 in the near future) <\/em>\n<em>&#8211; Microsoft PEX 2010 <\/em>\n<em>&#8211; Microsoft WPF Toolkit <\/em><\/p>\n<p><em>(Las versiones espec\u00edficas y URLs de download est\u00e1n especificadas en CODEPLEX, junto al Download de la App)<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>\u00a1Plan para siguientes versiones!!<\/strong><\/em><\/p>\n<p><em>Para las siguientes versiones y \u2018sabores\u2019 de aplicaci\u00f3n, estamos trabajando actualmente en lo siguiente:<\/em><\/p>\n<p><em>&#8211; Nuevos clientes de aplicaci\u00f3n: <strong>Silverlight 4.0, ASP.NET MVC, OBA<\/strong> y <strong>Windows Phone 7<\/strong>!!<\/em><\/p>\n<p><em>&#8211; A\u00f1adiendo otra versi\u00f3n con <strong>AppFabric-Cache<\/strong> (\u201cVelocity\u201d) y <\/em><em><strong>AppFabric Hosting<\/strong> para los servicios <strong>WCF<\/strong>.<\/em><\/p>\n<p><em>&#8211; A\u00f1adir <strong>Seguridad con Orientaci\u00f3n a Claims <\/strong>basada en <strong>WIF (Windows Identity Foundation)<\/strong><\/em><\/p>\n<p><em>&#8211; <strong>Unity 2.0<\/strong> para desacoplamiento entre los componentes de las Capas de la Arquitectura DDD<\/em><\/p>\n<p><em>&#8211; algunos building blocks de la siguiente versi\u00f3n de ENTLIB: <strong>Enterprise-Library 5.0<\/strong><\/em><\/p>\n<p><em>&#8211; \u00a1Mas ideas que nos quer\u00e1is dar!! \ud83d\ude42<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Equipo de trabajo<\/strong><\/p>\n<p>Este proyecto est\u00e1 localmente soportado en Espa\u00f1a por varios Arquitectos de Software y Desarrolladores tanto de Microsoft (DPE, MCS y Premier Support) como de varios partners. Le doy las gracias especialmente a los siguientes autores, colaboradores y <em>reviewers<\/em>:<\/p>\n<p>&#8211; <em>Unai Zorrilla (Plain-Concepts), Javier Calvarro, Miguel Angel Ramos (Microsoft), Rido Minguez (Microsoft), Pierre Millet (Microsoft), Israel Garc\u00eda Mesa (Microsoft), Roberto Gonzalez (Renacimiento) y Juan Cid (Avanade),<\/em> y otros Arquitectos y desarrolladores que a\u00f1adir\u00e9 aqu\u00ed si he olvidado ponerlos&#8230; \ud83d\ude09<\/p>\n<p><strong>\u00a1Colaboraci\u00f3n abierta a toda la comunidad!!<\/strong><\/p>\n<p>Nos encantar\u00e1 recibir noticias, sugerencias, feed-back de la versi\u00f3n actual del libro y de la aplicaci\u00f3n ejemplo as\u00ed como ideas a a\u00f1adir para mejorar este proyecto que pensamos que est\u00e9 \u2018vivo\u2019 durante muchos meses, creciendo en ideas de implementaci\u00f3n de patrones as\u00ed como en a\u00f1adir nuevas tecnolog\u00edas y \u2018sabores\u2019.<\/p>\n<p>As\u00ed que, much\u00edsimas gracias a todo el que nos d\u00e9 feed-back. Por favor, hacedlo a trav\u00e9s de las DISCUSIONES en nuestro site de CODEPLEX donde tenemos puesta la aplicaci\u00f3n ejemplo, ok?<\/p>\n<p>Cesar de la Torre<\/p>\n<p><a href=\"mailto:cesardl@microsoft.com\">cesardl@microsoft.com<\/a><\/p>\n<p><em>Architect Evangelist<\/em><\/p>\n<p>Microsoft &#8211; Espa\u00f1a<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/guia_arquitectura_n-capas_orientada_al_dominio_con_net_4_0-microsoft_architecture.zip\">guia_arquitectura_n-capas_orientada_al_dominio_con_net_4_0-microsoft_architecture.zip<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>[UPDATED &#8211; April\u00a02017] &#8211; IMPORTANT: \u00a0For up-to-date architecture and development guidance using .NET (i.e. .NET Core, ASP.NET Core, Docker containers, etc.) including Domain-Driven Design patterns, microservices architectures and other .NET related technologies like Xamarin for mobile apps check this landing page pointing to multiple NEW guides and reference applications: https:\/\/www.microsoft.com\/net\/architecture\/ Specifically, most of the DDD [&hellip;]<\/p>\n","protected":false},"author":362,"featured_media":12806,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[5,12,19,37,41,48,70,71,75,80,85,88,89,98,109],"class_list":["post-913","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cesardelatorre","tag-net-4-0","tag-ado-net","tag-architecture","tag-codeplex","tag-ddd","tag-entity-framework","tag-n-layer","tag-n-tier","tag-patterns","tag-ria","tag-security","tag-silverlight","tag-soa","tag-unity","tag-wcf"],"acf":[],"blog_post_summary":"<p>[UPDATED &#8211; April\u00a02017] &#8211; IMPORTANT: \u00a0For up-to-date architecture and development guidance using .NET (i.e. .NET Core, ASP.NET Core, Docker containers, etc.) including Domain-Driven Design patterns, microservices architectures and other .NET related technologies like Xamarin for mobile apps check this landing page pointing to multiple NEW guides and reference applications: https:\/\/www.microsoft.com\/net\/architecture\/ Specifically, most of the DDD [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/posts\/913","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/users\/362"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/comments?post=913"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/posts\/913\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/media\/12806"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/media?parent=913"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/categories?post=913"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/tags?post=913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}