好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Microsoft Domain Oriented NLayered .NET 4.0 App S

Microsoft Domain Oriented NLayered .NET 4.0 App Sample (DDD Architecture)

Project Description Domain Oriented N-Layered .NET 4.0 Sample App.
By Microsoft - Spain

Using .NET 4.0, C#, Entity Framework 4.0, 
Implementing typical DDD architecture & design patterns
Optional: Windows Server AppFabric & Windows Azure app versions

Sample-App Current state - Version 1.0. NEW! We have published current draft-chapters of our English 'Domain Oriented NLayered .NET 4.0 Architecture'  book. Get it here: --> http://microsoftnlayerapp.codeplex.com/documentation   * See Base-Software requirements within the 'Downloads' section  -->  http://microsoftnlayerapp.codeplex.com/releases/view/56660 Download and check our Setup Walkthrough documents  for each Sample-App version (Core, Azure, etc.)  --> http://microsoftnlayerapp.codeplex.com/releases/view/56660
This Sample-Application (currently our final V1.0) is an implementation example of our local Architecture Guide/Book (2009-2010), explained here:
http://msdn.microsoft.com/es-es/architecture/default.aspx
The Guide/Book current state is also a final Version. (Take into account that Sample-App is in English, but the Guide/Book is in Spanish, we're in the process of translating it to English).


Architecture Diagrams Architecture-Technology Diagram Detailed Architecture Diagram

Higher resolution diagram:
http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-75-metablogapi/5658.image_5F00_1299F40D.png

Required Base Software _ - Microsoft Visual Studio 2010 
- Microsoft Expression Blend 4 
- Microsoft SQL Server 2008 R2 Express (or higher) 
- Microsoft Unity 2.0 
- Microsoft PEX 2010 
- Microsoft WPF Toolkit 
- Microsoft Silverlight 4.0 Toolkit 
- Microsoft Silverlight Tools for VS.2010 

- Windows Server AppFabric (Just for the AppFabric compatible version) 
- Windows Azure Tools for VS.2010 (Just for the Windows Azure compatible version) 

Overview This project implements a very simple business scenario, but it is quite end to end complete regarding DDD N-Layered Architecture style  , showing DDD design patterns implementation ( Repository, UoW, Entity, Aggregate, Value-Object, etc. ), using .NET 4.0  'technology wave' (EF 4.0, WCF 4.0, etc.) and several Archetypes (several clients, like WPF 4.0  , Silverlight 4.0  and ASP.NET MVC ).

Silverlight 4.0 Client Customer List Silverlight Transition View Customer

WPF 4.0 Client WPF Customer List WPF View Customer Bank Transfers

It is very 'Domain Oriented'  , therefore, it illustrates typical DDD patterns  , like Domain Entity, Value-Object, Aggregates, Repository, Unit of Work, Specification (most of those patterns originally defined by  Eric Evans  and  Martin Fowler  ), but implemented using ADO.NET Entity Framework 4.0 , Unity, WCF, and PEX (Stubs and Moles)  for Unit Testing and mocking. 
DDD is much more than this!! We're talking about complex apps…, all their business rules (Domain logic) are points that, in most of the cases, need to be changed quite a lot during the app’s life. So it is critical to be able to change the app and test it in an easy way and independently from infrastructure areas (technology, data stores, data access technolgies, ORMs, etc.). Because of that, it is important to have the Domain/Business Layer (domain logic, entities, etc.) decoupled from the other layers.
Having said so, in our opinion, the best actual architectural style that fits with those requirements is a Domain Oriented N-Layered Architecture  which  is part  of DDD ( Domain Driven Design ) . And  this Sample-app is showing a way to implement a Domain Oriented N-Layered Architecture . 
But, and this is extremely important, DDD is on the other hand, much more than just a proposed Architecture and patterns. DDD is a way to build apps, a way for the team, to work in projects.  According to DDD, the project’s team should work in a specific way, should have direct communication with the Domain Experts (the customer, in many cases). The team should use an ‘Ubiquitous Language’  which has to be the same language/terms used by the domain experts, etc.  But, all those ways to work are not part of this Sample-App , because it is process, kind of ALM, so, if you want to really “Do DDD” , you’ll need to read Eric-Evans' book or any other DDD book where they talk about the DDD process, about the project and the team, not just the Architecture and patterns. Architecture and patterns are just a small part of DDD, but, in this case those are the points we are showing here (DDD architecture and patterns). But we want to highlight that DDD is much more than Architecture and design patterns .
Future versions plan For next versions we'd like to add the following features:
- New Core flavour: EF 4.1 Code First approach plus DTOs (Aditional flavor to Self Tracking Entities)
- Claims Base Security (For Core flavour plus ADFS2.0 and Azure flavour plus ACS)
- New Clients (Silverlight 5, Phone 7, HTML5)
- More new stuff!
The Team This project is locally supported by several Software Architects and Developers (coming from Microsoft DPE Spain, MVPs, partners (especially Plain-Concepts) and Microsoft Services).
We'll be happy hearing from you and getting your feed-back to improve and evolve this Architectural example!!.

Regards,
Cesar de la Torre
Architect – Development & Platform Evangelism (Spain)
Microsoft

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于Microsoft Domain Oriented NLayered .NET 4.0 App S的详细内容...

  阅读:45次

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网
[ SiteMap ]