.NET企业级系统架构设计

.NET设计层面上的体系架构,如1.1图是从设计层面上划分的.NET体系架构。数据库


1.1架构

软件设计的原则是为了提升软件系统的可复用性和可扩展性,咱们采用的手段是为应用系统划分层次,这是一种逻辑上的划分不是物理上的划分,也就是这些层能够是在一台电脑上也固然能够分布到在多台电脑上。这些层之间是松耦合的,层的内部是高内聚的。所以,下降耦合是软件设计的目标,可以设计出低耦合的系统,就意味着咱们的系统具备可复用性和可扩展性了。框架

1.1.1 表示层

表示层(Presentation Layer)是用户与系统交互的组件集合,用户经过这一层向系统提交请求或发出指令,系统经过这一层接收用户请求或指令,而后,将指令消化吸取后调用下一层,再将调用的结果展示到这一层。表示层应该是轻薄的不该该具备业务逻辑,若是在表示层中采用Windows Form技术就是咱们熟悉的桌面系统。若是在表示层中采用ASP.NETHTML等技术,这就是咱们说的Web系统,这时候咱们将表示层也称为Web层。可是不论采用什么技术表示层都应该是轻薄的。ide

1.1.2 业务逻辑层

业务逻辑层(Business Logic Layer)是系统的核心业务处理层的组件集合,负责接收表示层的指令和数据,消化吸取后,进行组织业务逻辑的处理,并将结果返回给表示层。为了下降表示层和业务逻辑层的耦合问题,咱们会在两层之间引入接口,而后在运行期注入依赖关系。spa

1.1.3 数据访问层

数据访问层(Data Access Layer)是业务逻辑层用于访问数据层的组件集合,从设计规范上讲为了下降耦合度,业务逻辑层不该该具备访问数据库的代码,访问数据层的代码应该放到数据访问层中,在数据访问层中通常是经过DAO(数据访问对象)访问数据层的,也是为了下降耦合度,DAO被设计为接口,DAO实现部分中能够经过ADO.NET技术,也可使用一些框架如NHibernate等。设计

1.1.4 EIS

EIS层是企业信息系统层,是系统的数据来源,能够是数据库、文件(例如CSVXML文件等)和遗留系统(数据来源别的系统),但多数状况下是指的是数据库。code