凡是接触net开发的首选要理解的就是三层架构的重要思想关于三层架构的概述 我就不多说了相信大家都早已明白
三层架构(tier application) 就是将整个业务应用划分为表现层(UI)业务逻辑层(BLL)数据访问层(DAL)
区分层次的目的即为了高内聚低耦合的思想
1表现层(UI)通俗讲就是展现给用户的界面即用户在使用一个系统的时候他的所见所得
2业务逻辑层(BLL)针对具体问题的操作也可以说是对数据层的操作对数据业务逻辑处理
3数据访问层(DAL)该层是直接操作数据库的针对数据的增添删除修改更新查找等
各层关系如下图所示
我进入公司之后所接触的项目都是建立在十层框架的基础之上所谓十层框架 其实就是三层架构的具体应用
增加了网络通讯层实现远程调用服务端运行着Windowsservice 来产生数据访问层的对象提供给客户端请求调用
这样处理使得整个C/S模式中一旦底层方法发生变动时只需要更新服务器上相应的dll而不需要客户端主机同步更新
减少了维护成本
下面说下十层架构中每层的作用以及层与层之间的关系
L层即启动层用来控制画面层中主画面的启动这层最简单没有太多代码
namespace CompanyNameApplicationUI
U层即画面UI层创建用户界面namespace CompanyNameApplicationUI
C层即画面逻辑层处理与画面相关的逻辑控制封装下层方法供UI层使用
namespace CompanyNameApplicationController
E层即画面实体类层根据画面设计相应的实体类或者枚举类型
namespace CompanyNameApplicationEntity
A层即业务逻辑层业务逻辑的处理以及上下层之间数据的转换属于中间层
namespace CompanyNameApplicationAccess
G层即网络层也称远程调用层获取远程服务器上的对象进行远程调用
namespace CompanyNameApplicationRemotingMediation
O层即接口层定义接口用来规范数据访问层的方法设计可以对子类进行封箱和拆箱也便于网络传输
namespace CompanyNameApplicationRemotingInterface
D层即数据库实体类这一层所定义的类是完全按照数据库中表结构来定义属性的与E层不同在于
E层类中具有一些类方法比如Clone()Compare()Equals()等而D层则除了get {}set{} 方法之外的额外方法
namespace CompanyNameApplicationRemotingParamData
P层即数据库逻辑层继承O层接口封装R层方法处理一些数据序列化转换
namespace ThreeHighApplicationRemotingBussiness
R层即数据库访问层直接访问数据库针对数据的增添删除修改更新查找等
namespace CompanyNameApplicationRemotingDAO
具体项目中一本程序的框架如下图所示
因为公司的程序都是与公司的数据库有关的而且有调用了很多共通的类与方法没办法单独运行所以程序源代码就不再上传了
我觉得关键的技术主要在远程调用对象和服务器生成对象