1.领域逻辑模式
①事物脚本模式(Transaction Script)传统的按照线性方式,过程式的开发。
②活动记录(Active Record) 一般可以紧密匹配底层数据库结构的方式 来组织业务逻辑。
③领域模型(Domain Model)对现实领域对象进行抽象,同时对数据和行为建模,对象之间可以存在与真实对象相匹配的复杂关系。
2.对象关系映射
①工作单元模式(Unit Of Work)
用来维护一个由 已经经过业务事务 修改过的业务对象构成的列表,该模式负责这些发送改变的对象的持久化工作协调为一个原子操作。如果出现错误,则整个事务回滚。
②资源库模式(Repository)充当业务实体的内存集合或仓库,完全将底层数据基础设施抽象出来。
③数据映射器(Data Mapper)从原始数据中提取信息以便生成对象,以及将业务对象中的信息转换到数据库中。业务对象和 数据库彼此不了解。
④标识映射(Identity Map)监视每一个从数据库中加载的对象,确保所有对象只加载过一次。
⑤懒惰加载(lazy loading)将获取资源的过程推迟到真正需要该资源的时候。
⑥查询对象(query object)查询对象充当从底层数据库中抽象出来的面向对象查询,引用类和属性 。通常还需要翻译器来生成原声sql。
3.Web标识模式
①MVP(模型-视图-表示器)
②MVC(模型-视图-控制器)
③FP(前端控制器)
④PP(页面控制器)
4.基本模式 行为模式 和 结构模式
1.空对象 Null Object模式:
充当返回值而不是返回null。空对象模式 将与预期接口返回相同接口,或者从相同的几类继承而来,这样减少了代码基中到处检查的null的需要。
2.独立接口模式 Seperate Interface:
将接口放在一个独立于具体实现的程序集或者命名空间中,这样对客户端透明。
3.网关Gataway模式:允许客户端通过一个简化的接口来访问复杂的资源,常用的有外观模式。