软讯网络 > 编程语言 > .NET > C#.NET > 对.Net N层架构的一点改进(面向对象的业务逻辑层)
【标 题】:对.Net N层架构的一点改进(面向对象的业务逻辑层)
【关键字】:
.Net
【来 源】:http://blog.csdn.net/peacefulsword/archive/2007/01/03/1473242.aspx
对.Net N层架构的一点改进(面向对象的业务逻辑层)
在接触了以PetShop为例的.Net的N层架构以后,一直在思考如何将面向对象的设计映射到.Net的N层架构之中,在经过一段时间以后终于实现了这样的想法,虽然只是对原有架构的一点点的改变,但却完成了对象到代码的映射。
一般简单的N层架构如图1所示,图中仅显示了人员资料的添加操作:
图1 简单的N层架构
根据OO的思想,一个对象会同时拥有状态和行为,而在如图1所示的架构中,没有任何一个类是同时拥有状态和行为的,这时,如果使用了OOD,将必须将一个对象映射到二个类上,虽然说习惯是养成的,但每次总要将一个对象拆开,总感觉有些别扭。
图2 改进后的N层架构
如图2所示,所做的改变仅仅是将原来的业务逻辑层继承于数据实体层,如此一来,原来的业务逻辑层还就不再仅仅只有行为,而拥有了状态成为了一个真正的对象类,我们可以将原来的业务逻辑层命名为对象层。这样做的好处还有就是在表示层(UI)将可以不再使用Model,对于表示层而言,只有一个拥有状态和行为的对象,这样OOD后的对象直接映射到对象层即可。
而其他各层,如数据访问接口和数据访问层等都将为对象层提供服务,都将以对象层为中心而实现。所提供的Model也仅仅是因为方便数据访问层的实现而存在独立存在。