随笔分类 -  设计模式

Design pattern
摘要:Repository(资源库) 协调领域和数据映射层,利用类似于集合的接口来访问领域对象 定义(来自Martin Fowler的《企业应用架构模式》): Mediates between the domain and data mapping layers using a collection-li 阅读全文
posted @ 2016-06-17 14:14 lpfuture 阅读(983) 评论(0) 推荐(0) 编辑
摘要:既定访问者模式类图: 假设现在需求要扩展数据结构,增加一种具体元素,男与女之外的一种不明物体,我们暂时把它称为“怪兽”,在既有访问者模式的架构下,应该怎样?首先增加一个Bruce类,实现Person接口。最麻烦的是要修改访问者接口及其所有具体访问者! 因为Visit方法中没有包含访问Bruce对象的行为,因此我们被迫要去手工更改Visitor(包括抽象的,具体的),在其中添加有关Bruce对象 的行为,这严重违反了“开放-封闭”原则。究其原因在于目前的结构下,被访问对象与访问对象互相依赖,自然不利于分离变化,必须去掉一层依赖关系。 我们尝试把Visitor对Person(元素)的依赖关... 阅读全文
posted @ 2013-03-01 17:55 lpfuture 阅读(270) 评论(0) 推荐(0) 编辑
摘要:定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将 该对象恢复到原先保存的状态类型:行为类类图:备忘录模式的结构发起人:记录当前时刻的内部状态,负责定义哪些属于备份范围的状态,负责创建和恢复备忘录数据。备忘录:负责存储发起人对象的内部状态,在需要的时候提供发起人需要的内部状态。管理角色:对备忘录进行管理,保存和提供备忘录。 阅读全文
posted @ 2013-03-01 17:45 lpfuture 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-01 17:40 lpfuture 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-01 17:37 lpfuture 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-01 16:16 lpfuture 阅读(136) 评论(0) 推荐(0) 编辑
摘要:优点: 1.模板方法模式通过把不变的行为搬移到超类,去除了子类中的重复代码。 2.子类实现算法的某些细节,有助于算法的扩展。 3.通过一个父类调用子类实现的操作,通过子类扩展增加新的行为,符合“开放-封闭原则”。缺点: 每个不同的实现都需要定义一个子类,这会导致类的个数的增加,设计更加抽象。适用场景: 1.在某些类的算法中,用了相同的方法,造成代码的重复。 2.控制子类扩展,子类必须遵守算法规则。 阅读全文
posted @ 2013-03-01 16:12 lpfuture 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-01 14:49 lpfuture 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-01 14:43 lpfuture 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-01 14:40 lpfuture 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-01 14:25 lpfuture 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-01 09:38 lpfuture 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-01 09:34 lpfuture 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-01 09:28 lpfuture 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-01 09:22 lpfuture 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-01 09:18 lpfuture 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-02-28 12:02 lpfuture 阅读(114) 评论(0) 推荐(0) 编辑
摘要:模式动机: 模式结构图: 阅读全文
posted @ 2013-02-28 11:54 lpfuture 阅读(160) 评论(0) 推荐(0) 编辑
摘要:类适配器模式结构图: 对象适配器模式结构图: 阅读全文
posted @ 2013-02-28 11:46 lpfuture 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-02-28 11:39 lpfuture 阅读(159) 评论(0) 推荐(0) 编辑