{"id":893,"date":"2010-03-16T09:48:00","date_gmt":"2010-03-16T09:48:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/cesardelatorre\/2010\/03\/16\/architects-forum-xxv-n-layer-ddd-architecture-and-net-4-0-march-24th-2010\/"},"modified":"2010-03-16T09:48:00","modified_gmt":"2010-03-16T09:48:00","slug":"architects-forum-xxv-n-layer-ddd-architecture-and-net-4-0-march-24th-2010","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/architects-forum-xxv-n-layer-ddd-architecture-and-net-4-0-march-24th-2010\/","title":{"rendered":"Architects Forum XXV \u2013 N-Layer DDD Architecture and .NET 4.0 (March 24th 2010)"},"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><img decoding=\"async\" src=\"https:\/\/mseventsww.microsoft.com\/BannerImages\/a3a903c0-ff55-4e55-bee5-052a8ee538f9.jpg\" alt=\"Foro de Arquitectos XXV - Arquitecturas N-Layer Orientadas al Dominio (DDD) con .NET 4.0 y AppFabric\" width=\"619\" height=\"162\" border=\"0\" \/><\/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>https:\/\/www.microsoft.com\/net\/architecture\/<\/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.<\/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>http:\/\/aka.ms\/MicroservicesEbook<\/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>http:\/\/aka.ms\/MicroservicesArchitecture<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong><\/strong>Thanks,<\/p>\n<p>Cesar.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>&#8211; UPDATED on March 25th 2010 &#8211;<\/strong><\/p>\n<p>Cool!, So yesterday we run this event and it was great!!, there were almost 200 people and great feed-back! \ud83d\ude42<\/p>\n<p>So, here I post the presentations we delivered and also, and the most important, the ARCHITECTURE content we just made publish in MSDN-SPAIN and CODEPLEX:<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Architects Forum XXV event\u2019s presentations \u2013 (N-Layer DDD Architecture with .NET 4.0) \u2013 (<span style=\"text-decoration: underline\"><em>SPANISH<\/em><\/span>)<\/strong><\/p>\n<p><a href=\"http:\/\/cid-c537c2af47f728a0.skydrive.live.com\/browse.aspx\/Msft%20Dpe%20Spain%20Architects%20Events\/2010%20-%20Arch.Forum%20XXV%20-%20N-Layer%20DDD%20.NET%204.0%20Architecture?view=details\" title=\"http:\/\/cid-c537c2af47f728a0.skydrive.live.com\/browse.aspx\/Msft%20Dpe%20Spain%20Architects%20Events\/2010%20-%20Arch.Forum%20XXV%20-%20N-Layer%20DDD%20.NET%204.0%20Architecture?view=details\">http:\/\/cid-c537c2af47f728a0.skydrive.live.com\/browse.aspx\/Msft%20Dpe%20Spain%20Architects%20Events\/2010%20-%20Arch.Forum%20XXV%20-%20N-Layer%20DDD%20.NET%204.0%20Architecture?view=details<\/a><\/p>\n<p><strong>N-Layer DDD Architecture with .NET 4.0 \u2013 APPLICATION EXAMPLE (<span style=\"text-decoration: underline\"><em>ENGLISH<\/em><\/span>)<\/strong><\/p>\n<p><em>UPDATE (Dec.2013): The sample application is currently outdated and was unpublished from CODEPLEX. For the records, it can be downloaded from here: <a href=\"http:\/\/sdrv.ms\/18bjaba\">http:\/\/sdrv.ms\/18bjaba<\/a><\/em><\/p>\n<p><em>The last chapters can be downloaded from here: <a href=\"http:\/\/sdrv.ms\/18bjLty\">http:\/\/sdrv.ms\/18bjLty<\/a><\/em><\/p>\n<p><a href=\"http:\/\/microsoftnlayerapp.codeplex.com\/\" title=\"http:\/\/microsoftnlayerapp.codeplex.com\/\">http:\/\/microsoftnlayerapp.codeplex.com\/<\/a><\/p>\n<p><strong>N-Layer DDD Architecture with .NET 4.0 \u2013 GUIDE (e-BOOK &#8211; PDF) \u2013 (<span style=\"text-decoration: underline\"><em>SPANISH<\/em><\/span>)<\/strong><\/p>\n<p><a href=\"http:\/\/msdn.microsoft.com\/es-es\/architecture\/default.aspx\" title=\"http:\/\/msdn.microsoft.com\/es-es\/architecture\/default.aspx\">http:\/\/msdn.microsoft.com\/es-es\/architecture\/default.aspx<\/a><\/p>\n<p>Please, send us feed back through our CODEPLEX site!! \ud83d\ude42<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>On <strong>March 24th 2010<\/strong> we\u2019ll deliver in Madrid an special Architects Forum edition where we\u2019ll present a first draft\/beta of our \u2018<strong><em>N-Layer DDD Architecture and .NET 4.0 Guide<\/em><\/strong>\u2019 that we\u2019ve been working on during the last several months!!<\/p>\n<p>We\u2019ll give you a book (to all attendees) with a printed draft\/beta version of this proposed Architecture.<\/p>\n<p>Note that this proposed Architecture is based on <strong>DDD (<em>Domain Driven Design<\/em>)<\/strong> Architectural Styles and <strong>SOLID principles (<\/strong><em><strong>S<\/strong>ingle Responsability Principle, <strong>O<\/strong>pen-Close Principle, <strong>L<\/strong>iskov Substitution Principle, <strong>I<\/strong>nterface Segregation Principle and <strong>D<\/strong>ependency Inversion Principle<\/em><strong>)<\/strong>. Therefore (because of DDD orientation), it is made for complex apps where you have a lot of business\/domain logic and also it is an App with a long-live where you want it to be protected from technology changes that could occur in the future (through Domain Layer isolation and decoupling techniques like IoC and Dependency Injection using UNITY, etc.). This Architecture is not for a small app, that has not many future changes, where what you normally want is a RAD (<em>Rapid App Development<\/em>) approach. This proposed Architecture is not a RAD approach.<\/p>\n<p>The <strong>URL where you can register<\/strong> is the following. <em><span style=\"text-decoration: underline\"><strong>Btw, registration is open again, current room is bigger than the initial room<\/strong><\/span><\/em> \ud83d\ude42<\/p>\n<p><a href=\"http:\/\/msevents.microsoft.com\/CUI\/EventDetail.aspx?EventID=1032443724&amp;Culture=es-ES\" title=\"http:\/\/msevents.microsoft.com\/CUI\/EventDetail.aspx?EventID=1032443724&amp;Culture=es-ES\">http:\/\/msevents.microsoft.com\/CUI\/EventDetail.aspx?EventID=1032443724&amp;Culture=es-ES<\/a><\/p>\n<p>The <strong>AGENDA<\/strong> is the following (<strong>All sessions will be delivered in SPANISH<\/strong>):<\/p>\n<p><strong><span style=\"font-size: xx-small\">9:30 \u2013 Event\u2019s presentation<\/span><\/strong><\/p>\n<p><span style=\"font-size: xx-small\">Event presentation and <em>Early-Adoption<\/em> opportunities\nCesar de la Torre &#8211; Microsoft<\/span><\/p>\n<p><strong><span style=\"font-size: xx-small\">10:00-10:40 (40 minutes)<\/span><\/strong><\/p>\n<p><span style=\"font-size: xx-small\"><strong>.NET Architecture Guide Reference &#8211; Microsoft Spain<\/strong>\n<strong>Speaker: Cesar de la Torre &#8211; Microsoft<\/strong><\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; News in \u2018.NET 4.0 wave\u2019<\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Introduction to our DDD N-Layer Architecture for .NET 4.0 \u2013 Initiative and book\/documentation in Spanish and Example Application.<\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Introduction to N-Layer DDD (<em>Domain Driven Design<\/em>) Architectural styles. <\/span><\/p>\n<p><span style=\"font-size: xx-small\"><strong>10:45-11:20 (30 minutes) <\/strong><strong>COFFEE BREAK<\/strong><\/span><\/p>\n<p><strong><span style=\"font-size: xx-small\">11:25-12:15 (50 minutes)<\/span><\/strong><\/p>\n<p><span style=\"font-size: xx-small\"><strong>Infrastructure and Data Persistence Layer<\/strong>\n<strong>Speaker: Unai Zorrila &#8211; Plain Concepts<\/strong><\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Designing Patterns like <em>Repository, Unit of Work,<\/em> etc. with <em>Entity Framework \u2018V4\u2019<\/em><\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Map to our DDD N-Layer Architecture for .NET 4.0 and example application<\/span><\/p>\n<p><strong><span style=\"font-size: xx-small\">12:20-13:15 (55 minutes)<\/span><\/strong><\/p>\n<p><span style=\"font-size: xx-small\"><strong>Decoupling Layers components and SOLID principles. IoC &amp; DI and UNITY implementation<\/strong>\n<strong>Speaker: Hadi Hariri &#8211; JetBrains<\/strong><\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Why decoupling and DI?. <\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Unity and DI frameworks introduction<\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Map to our DDD N-Layer Architecture for .NET 4.0 and example application<\/span><\/p>\n<p><span style=\"font-size: xx-small\">13:15-14:00<\/span><\/p>\n<p><strong><span style=\"font-size: xx-small\">Domain Model Layer\nSpeaker: Pierre Milet &#8211; Microsoft<\/span><\/strong><\/p>\n<p><span style=\"font-size: xx-small\">(45 minutes)<\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Domain Layer Patterns<\/span><\/p>\n<p><span style=\"font-size: xx-small\">o Domain Entities (POCO\/IPOCO)<\/span><\/p>\n<p><span style=\"font-size: xx-small\">o Value-Objects<\/span><\/p>\n<p><span style=\"font-size: xx-small\">o Aggregates<\/span><\/p>\n<p><span style=\"font-size: xx-small\">o Domain Services (Negocio)<\/span><\/p>\n<p><span style=\"font-size: xx-small\">o UoW (Unit of Work)<\/span><\/p>\n<p><span style=\"font-size: xx-small\">o Transactions (System.Transactions)<\/span><\/p>\n<p><span style=\"font-size: xx-small\">o Workflow (WF .NET 4.0)<\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Map to our DDD N-Layer Architecture for .NET 4.0 and example application<\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Application Layer<\/span><\/p>\n<p><span style=\"font-size: xx-small\"><strong>14:00-15:00 LUNCH\/<\/strong><strong>COCKTAIL<\/strong><\/span><\/p>\n<p><strong><span style=\"font-size: xx-small\">15:05-15:45\u00a0 (40 minutes)<\/span><\/strong><\/p>\n<p><strong><span style=\"font-size: xx-small\">Distributed Services Layer and N-Tier Architectures\nIsrael Garcia Mesa &#8211; Microsoft<\/span><\/strong><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; <em>Custom Layer<\/em><\/span><\/p>\n<p><span style=\"font-size: xx-small\">o WCF Services<\/span><\/p>\n<p><span style=\"font-size: xx-small\">o Objects communication (POCO Entities vs. STE vs. DTOs) <\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Map to our DDD N-Layer Architecture for .NET 4.0 and example application<\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; <em>RAD (other options introduction)<\/em><\/span><\/p>\n<p><span style=\"font-size: xx-small\">o ADO.NET Data Services (Introduction )<\/span><\/p>\n<p><span style=\"font-size: xx-small\">o WCF-RIA-Services (Introduction )<\/span><\/p>\n<p><strong><span style=\"font-size: xx-small\">15:50-16:35 (45 minutes)<\/span><\/strong><\/p>\n<p><strong><span style=\"font-size: xx-small\">&#8211; Presentation Layer and patterns\nBraulio Diez &#8211; Avanade<\/span><\/strong><\/p>\n<p><span style=\"font-size: xx-small\">o News in Silverlight 4.0 &amp; WPF 4.0<\/span><\/p>\n<p><span style=\"font-size: xx-small\">o Introduction to MVVM, MVP &amp; MVC patterns<\/span><\/p>\n<p><span style=\"font-size: xx-small\">o Implementing MVVM with WPF 4.0 or Silverlight 4.0<\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Map to our DDD N-Layer Architecture for .NET 4.0 and example application<\/span><\/p>\n<p><strong><span style=\"font-size: xx-small\">16:40-17:10\u00a0\u00a0\u00a0\u00a0\u00a0 (30 minutes)<\/span><\/strong><\/p>\n<p><strong><span style=\"font-size: xx-small\">Security in Enterprise Apps: \u2018<em>Claims Orientation<\/em>\u2019 and implementation with WIF and ADFS 2.0\nUnai Zorrila &#8211; Plain Concepts<\/span><\/strong><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Introduction to WIF (<em>Windows Identity Foundation<\/em> aka. \u2018GENEVA FRAMEWORK\u2019 y ADFS 2.0 aka \u2018GENEVA SERVER\u2019<\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Map to our DDD N-Layer Architecture for .NET 4.0 and example application<\/span><\/p>\n<p><strong><span style=\"font-size: xx-small\">17:15-18:00\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (45 minutes)<\/span><\/strong><\/p>\n<p><strong><span style=\"font-size: xx-small\">New App-Server capacities with <em>Windows Server AppFabric<\/em> (\u201cDUBLIN+VELOCITY\u201d)\nCesar de la Torre \u2013 Microsoft<\/span><\/strong><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Cache in LOB apps &#8211; AppFabric Cache (\u201cVELOCITY\u201d)<\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Hosting &amp; Monitoring WCF &amp; WF in AppFabric<\/span><\/p>\n<p><span style=\"font-size: xx-small\">&#8211; Map to our DDD N-Layer Architecture for .NET 4.0 and example application<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>(*)\u00a0 All attendees will get a printed copy (book) of our \u2018<em>DDD N-Layer Architecture for .NET 4.0<\/em>\u2019 (Draft version) and also a second book about WCF !!<\/strong><\/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,89,98,109],"class_list":["post-893","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-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\/893","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=893"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/posts\/893\/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=893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/categories?post=893"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/tags?post=893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}