系统架构师-基础到企业应用架构-业务逻辑层
#endregion
} |
具体调用的写日志的方法:
1
2
3
4
5
6
7
8
9
|
public class Write
{ public static bool WriteLog(ILog log)
{
//具体的写如日志的方法。
return true ;
}
} |
具体相关的产品类与产品分类对象的使用:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
/// <summary> /// 产品类
/// </summary> public class Product : BaseWrite
{ //产品的相关属性
public int ProductID { get ; set ;}
public int ProductName { get ; set ;}
public int ProductClassID { get ; set ;}
public int ProductSort { get ; set ;}
public int ProductIsEnable { get ; set ;}
//产品类相关的方法
public List<Product> GetAll()
{
return new List<Product>();
}
} public class ProductClass : BaseWrite
{ //产品分类相关属性
public int ProductClassID { get ; set ;}
public int ProductClassName { get ; set ;}
public int ProductClassCategory { get ; set ;}
public int ProductClassSort { get ; set ;}
public int ProductClassIsEnable { get ; set ;}
//产品分类相关的信息
public List<ProductClass> GetAll()
{
return new List<ProductClass>();
}
} |
我们看到了在活动记录模式中会将数据访问层的代码写在该层,但是领域模型中一般不会出现这样的代码。领域模型中只关心跟业务流程相关的内容,具体的数
据持久化之类的内容一概不关心。领域模型中是一系列的对象之间的交互,那么我们可能会关心,如何将领域模型中的这些对象的状态进行保存呢,那么就会牵扯到对
象模型到关系型数据库中持久化的个问题了,在持久化的问题上,我们可能有几种选择,一种是采用现有的ORM框架去实现对象数据的自动持久化,当然这是一种解决
办法。有时候我们是通过手动的方式来进行持久化,可能就不存在这样的问题。
我们通常在持久化数据的问题上我们希望能做到持久化的透明性,这样就可以说具体的业务层不需要书写持久化的操作代码,当然我们现在设计的时候可能都是
要么是通过特性来实现持久化,或者是通过继承基类的方式来做持久化的操作,那么可能带来如下的问题。
一般我们知道,一个类如果想不写相应的持久化代码还能实现持久化的话,那么我们只能通过动态的注入持久化代码的方式来实现这样的持久化透明的方案,微
软的EntityFrameWork2.0中的POCO中的ORM方案,就是通过这样的方式来实现的。我们更关心的是代码应该放在何处,是在领域模型中还是领域模型外呢,当然目
前的一些常见的框架中已有实现方案,其中大家熟知的NHibernate就是持久化透明的方式,大家如果感兴趣可以参考NHibernate的实现思路来做。一般对于这种动态
注入代码的这样的方案,这里简单介绍下可能的实现,由于.NET framework 中提供了一个派生自特性类型的代理类,通过代理类来动态的将这个类的相关功能追加到
指定的对象中,这就是所谓的动态代理,当然针对某个特定的类型这样来做,WCF也是通过代理类的方式来实现这样的动态插入的形式。
六、本章总结
本章主要是对业务层建模的不同的架构模式进行了相应的总结及简单说明,可能某些地方说明不是特别的清晰,当然我也是将平时自己的业务开发中的一些经验
和总结,部分内容是参考以前看的书上的内容,不足之处还请大家多多的指点,还有请感兴趣的朋友一起交流领域模型的设计,包括持久化的透明的实现方案等,欢迎
大家多提意见和建议。本人抱着学习和宁缺毋滥的原则,写好每一篇,可能看过这方面资料的同仁当温习下相关内容,没有看过同仁希望对你们有帮助,那就是我最大
的动力。
七、系列进度
前篇
1、系统架构师-基础到企业应用架构系列之--开卷有益
2、系统架构师-基础到企业应用架构-系统建模[上篇]
3、系统架构师-基础到企业应用架构-系统建模[中篇](上)
4、系统架构师-基础到企业应用架构-系统建模[中篇](下)
5、系统架构师-基础到企业应用架构-系统建模[下篇]
6、系统架构师-基础到企业应用架构-系统设计规范与原则[上篇]
7、系统架构师-基础到企业应用架构-系统设计规范与原则[下篇]
8、系统架构师-基础到企业应用架构-设计模式[上篇]
9、系统架构师-基础到企业应用架构-设计模式[中篇]
10、系统架构师-基础到企业应用架构-设计模式[下篇]
中篇
11、系统架构师-基础到企业应用架构-企业应用架构
12、系统架构师-基础到企业应用架构-分层[上篇]
13、系统架构师-基础到企业应用架构-分层[中篇]
14、系统架构师-基础到企业应用架构-分层[下篇]
15、系统架构师-基础到企业应用架构-表现层
16、系统架构师-基础到企业应用架构-服务层
17、系统架构师-基础到企业应用架构-业务逻辑层
18、系统架构师-基础到企业应用架构-数据访问层
19、系统架构师-基础到企业应用架构-组件服务
20、系统架构师-基础到企业应用架构-安全机制
后篇
21、单机应用、客户端/服务器、多服务、企业数据总线全解析
22、系统架构师-基础到企业应用架构-单机应用(实例及demo)
23、系统架构师-基础到企业应用架构-客户端/服务器(实例及demo)
24、系统架构师-基础到企业应用架构-多服务(实例及demo)
25、系统架构师-基础到企业应用架构-企业数据总线(实例及demo)
26、系统架构师-基础到企业应用架构-性能优化(架构瓶颈)
27、系统架构师-基础到企业应用架构-完整的架构方案实例[上篇]
28、系统架构师-基础到企业应用架构-完整的架构方案实例[中篇]
29、系统架构师-基础到企业应用架构-完整的架构方案实例[下篇]
30、系统架构师-基础到企业应用架构-总结及后续
八、下篇预告
下一篇我们将会开始讲解软件设计中最重要也是最基本的技能-设计模式,希望大家多多提出已经,后面3篇我们将会讲解如何在项目中使用设计模式及使用设计
模式需要注意的事项,将会举例说明每个设计模式可能出现的场景。希望大家持续关注!
本文转自何戈洲博客园博客,原文链接:http://www.cnblogs.com/hegezhou_hot/archive/2010/10/01/1840642.html,如需转载请自行联系原作者