统一架构企业服务平台

本文介绍一个高解耦的、可单元测试的、部署灵活、实现高效和验证灵活的N-Tier .NET 架构

  1. 概述

    N-Tier软件架构可以解决可以解决如下C/S系统问题:可扩展性,安全性,容错性等等。在之前的文章- N-Tier 体系架构和技巧(N-Tier Architecture and Tips) 中,我们介绍了基本的N-Tier体系架构概念和一些实践技巧。

    在本文中,我们尽力详细阐述使用ASP.NET MVC 3、WCF和Entity Framework技术构建N-Tier架构的范例程序。在Java 平台上,通常有现成的方式实现 N-Tier 架构, which uses session bean over entity bean for business and persistence layer, Java bean, servlet or JSP for the client presenter layer, Java Swing, HTML or applet as the client side. Therefore, for J2EE, different application are very likely implemented in very similar ways.。然而,在.NET 平台,尽管有大量的工具和功能存在,但是并不存在像J2EE一样预先定义的方式确保实现N-Tier 架构。其结果是,有大量不一致和现存的方法去实现这一点。有些是好的,有些则不合适。

    本文介绍一个高解耦的、可单元测试的、部署灵活、实现高效和验证灵活的N-Tier .NET 架构。这里,我们实现的将.NET 平台上一些知名的工具和功能集中在一起,拿出一个可行的方案。因为在一篇文章有太多内容需要讨论,在我们的范例方案中,我们将主要精力集中于business和persistence 层,但是仍然会简要谈及其它层。

    为了更好理解本文,我们建议你首先阅读之前关于 N-Tier 体系架构基本概念的文章 。和前面文章提到的一样,这篇文章也是基于假设一个团队有完全控制N-Tier架构的所有层的能力。

  2. 所有层概述

    下图是.NET N-Tier体系架构模型,每层中的椭圆形组件部分可以共存或单独存在。