CSLA.NET框架是一个非常优秀的框架,能够真正地实现构建大多数业务应用程序所需要的框架,特别地,这个框架在业务逻辑上面提供了异常强大的支持,包括业务逻辑N层撤销能力、移动对象、业务规则跟踪、业务授权规则、同一个对象拥有多种用户界面、Windows和Web Form的数据绑定,以及分布式事务处理的集成,而这些东西是开发人员在开发中最头痛的东西,现在CSLA.NET把这些都封装起来了,那么开发人员就可以把注意力都集中到业务需求上面来。
(1)、设计思想
开发人员最希望看到的是所有的非业务对象都已经存在了,比如数据库访问对象,UI对象、数据验证对象、字符串处理对象和权限验证等,这样就可以集中精力去创建、修改业务对象,从而能够很好地维护业务逻辑和数据访问层,应对时时刻刻变化的需求。
CSLA.NET框架把业务对象在各层的撤消能力、失效业务对象的跟踪、“脏”数据的判断、业务对象和业务对象集合的关系、自定义身份验证对象、权限规则对象、数据库写入和读取对象都封装起来,而且为开发人员提供简单调用接口,全面支持Web程序和桌面应用程序的数据绑定。上面提到的这些支持,在.NET里都有解决方案,只不过很零散,CSLA.NET框架运用面向对象设计的思想方法把他们封装起来。
(2)、框架设计
每一个框架本身是一个庞大负责的实体,由很多类组成,而对于开发人员,应该提供给他们尽可能少但又能够满足业务需求的类。CSLA.NET框架做到了这一点,整个框架由七大块组成,包括创建业务对象、数据门户访问、对业务对象在各层间的撤销能力的支持、数据验证支持、分布式事务处理支持、身份验证及授权、工具支持类,但是面向开发人员的只有业务对象中的几个类,开发人员只需要继承这几个类就可以调用框架的所有其他方法。
在上面提到的七大块中,创建业务对象、数据门户访问和分布式事务处理能力是整个框架设计最为关键的部分。
①创建业务对象
业务对象类的设计决定整个框架是否好用,这些类是开发人员最经常使用的类,下图显示了框架中关键的业务对象类:
图7:业务对象最常用的六个类
在开发基于CSLA.NET框架下的分布式应用程序开发时,开发人员就只需要继承这几个业务对象类,便可以调用到CSLA.NET中提供的方法和享受到它的分布式处理能力。
②数据门户访问
数据门户为服务器提供了一个单一的访问和设置入口,负责管理业务对象在服务器上进行数据访问代码的时候与其通信,CSLA.NET框架的数据门户设计是很好的,它提供了一致的访问模式、把客户机和服务器直接的通信方式抽象出来、能够对本地和远程运行的程序进行单点控制。以下是数据门户几个重要的组成部分:
(1)、客户端DataPortal
数据门户继承架构的主要入口,供业务开发代码使用
(2)、客户端代理
客户端通道适配器模式,将下层网络协议从应用层抽象出来
(3)、消息对象
想服务器发送并传回数据
(4)、服务端宿主类
为服务器宿主,包括远程调用、企业服务、Web服务
(5)、服务器DataPortal
实现分布式事务处理技术,与数据存储层打交道
业务对象在客户机与服务器之间有四种操作模式,即查询、创建、修改、删除,都要通过数据门户来执行。
没有评论:
发表评论