
设计思想
eneasy
这个作者很懒,什么都没留下…
展开
-
抽象和封装
二.抽象和封装整理自 《java与模式》阎宏编著 1.关于抽象类 只要有可能,不要从具体类继承。 [img]http://eneasy.iteye.com/upload/picture/pic/10111/e4fd3f74-07f5-3207-8c55-378bf29cc57d.jpg[/img] 如图,在一个以继承关系形成的等级结构里面,树叶节点应该是具...2007-08-19 21:54:29 · 382 阅读 · 0 评论 -
模版方法模式
十二. 模版方法模式整理自 《java与模式》阎宏编著 1.意图: 定义一个操作中的算法的骨架,而将一些可变部分的实现延迟到子类中。模版方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定的步骤。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10085/9dd4f584...2008-03-22 20:54:05 · 103 阅读 · 0 评论 -
策略模式
十三. 策略模式整理自 《java与模式》阎宏编著 1.意图: 针对一组算法,将每个算法封装到具有共同接口的独立的类中,从而使得算法可以相互替换,而不影响客户端。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10087/e7f70667-507f-3bf9-9397-e643135b1c5c...2008-03-22 20:55:56 · 104 阅读 · 0 评论 -
命令模式
十四. 命令模式整理自 《java与模式》阎宏编著 1.意图: 将一个请求或操作封装到对象中。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10089/a31a54ac-098e-3689-81f5-1ed61b8964a6.jpg[/img]3.原理: 命令模式...2008-03-22 20:57:50 · 89 阅读 · 0 评论 -
状态模式
十五. 状态模式整理自 《java与模式》阎宏编著 1.意图: 允许一个对象在其内部状态改变时改变它的行为。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10091/fe28b620-9408-32d9-9990-e2431ba41c5a.jpg[/img]3.原理: ...2008-03-22 21:00:26 · 105 阅读 · 0 评论 -
观察者模式 (发布-订阅模式)
十六. 观察者模式 (发布-订阅模式)整理自 《java与模式》阎宏编著 1.意图: 定义对象间的一种一对多的依赖关系,当一个主题对象的状态发生改变时, 所有监听它的观察者对象都得到通知并被自动更新。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10093/9e3279f5-812e-305...2008-03-22 22:02:27 · 101 阅读 · 0 评论 -
责任链模式
十七. 责任链模式整理自 《java与模式》阎宏编著 1.意图: 将多个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。客户端并不知道链上的哪个对象最终处理这个请求,从而降低了请求的发送者和接收者之间的耦合关系。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/1009...2008-03-22 22:05:24 · 113 阅读 · 0 评论 -
迭代子模式
十八. 迭代子模式整理自 《java与模式》阎宏编著 1.意图: 提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10097/22010021-94c0-3578-8ecd-0545749788a0.jpg[/img...2008-03-22 22:07:16 · 109 阅读 · 0 评论 -
备忘录模式
十九. 备忘录模式整理自 《java与模式》阎宏编著 1.意图: 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。2.类图: [img]http://eneasy.iteye.com/upload/picture/p...2008-03-22 22:09:31 · 120 阅读 · 0 评论 -
调停者模式
二十. 调停者模式整理自 《java与模式》阎宏编著 1.意图: 用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10101/478f3910-0374-372e-...2008-03-22 22:18:33 · 139 阅读 · 0 评论 -
访问者模式
二一. 访问者模式整理自 《java与模式》阎宏编著 1.意图: 封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10107/b3b438b5-4beb-3016-ba00-43d4...2008-03-22 22:20:56 · 91 阅读 · 0 评论 -
桥接模式
十一. 桥接模式整理自 《java与模式》阎宏编著 1.意图: 将抽象化与实现化脱耦,使得两者可以独立地变化。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10083/75d2ee0d-2829-363e-b267-a64827f5bd06.jpg[/img]3.原理: ...2008-03-22 20:52:31 · 106 阅读 · 0 评论 -
享元模式
十. 享元模式整理自 《java与模式》阎宏编著 1.意图: 运用共享技术有效地支持大量细粒度的对象。2.类图: 单纯享元模式: [img]http://eneasy.iteye.com/upload/picture/pic/10079/13a1a4cf-f03d-38f5-8b27-46e197a219c2.jpg[/img] ...2008-03-22 20:50:32 · 120 阅读 · 0 评论 -
面向对象设计原则
一.面向对象设计原则:整理自《java与模式》阎宏编著《敏捷软件开发原则、模式与实践》 Robert C.Martin著 邓辉 译1.单一职责原则(SRP) 一个类只能承担一个职责,即就一个类而言,应该仅有一个引起它变化的原因。因为每一个职责都是变化的一个轴线,当需求变化时,该变化会表现为类的职责的变化。如果一个类承担了多于一个的职责时,那么引起它变化的原因就有多个。...2007-08-19 22:41:21 · 127 阅读 · 0 评论 -
单例模式
一. 单例模式整理自 《java与模式》阎宏编著1.意图: 确保某个类只有一个实例,并且为该类提供一个全局的访问点。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10019/b31c63c6-219f-36a0-8bba-8abe54df5f0f.bmp[/img]3.原理:...2008-03-22 15:37:16 · 90 阅读 · 0 评论 -
工厂模式
二. 工厂模式整理自 《java与模式》阎宏编著简单工厂模式1.意图: 由一个工厂类根据传入的参数来决定要创建哪一个产品类的实例。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10021/47201137-4169-3911-a2e7-620fe09ddeda.jpg[/img] ...2008-03-22 15:43:18 · 120 阅读 · 0 评论 -
原型模式
三. 原型模式整理自 《java与模式》阎宏编著 1.意图: 用原型对象指定要创建的对象的类型,并且通过拷贝这些原型对象创建新的同类型对象。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10041/f72d23b1-a248-34e3-94c2-b9c7d958d531.jpg[/i...2008-03-22 16:03:03 · 92 阅读 · 0 评论 -
构造者模式
四. 构造者模式整理自 《java与模式》阎宏编著 1.意图: 将一个复杂产品对象的构建与它的表示分离,产品的结构和创建过程对客户端保持透明,允许同样的构建过程创建不同的对象表示。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10043/01a0a97d-f0cb-3a35-85c3-9b...2008-03-22 16:05:55 · 140 阅读 · 0 评论 -
适配器模式
五. 适配器模式整理自 《java与模式》阎宏编著 1.意图: 把一个类的接口转换成客户端所期望的另一种接口。2.类图: 类适配器 [img]http://eneasy.iteye.com/upload/picture/pic/10047/bf13bc26-034d-36dc-b50f-279e14712ad7.jpg[/img] ...2008-03-22 16:11:05 · 99 阅读 · 0 评论 -
装饰器模式
六. 装饰器模式整理自 《java与模式》阎宏编著 1.意图: 在一个对象的外围创建一个称为装饰器的封装,动态地给这个对象添加一些额外的功能。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10049/e761e0ca-74e6-3a1d-b298-73012301a99a.jpg[/im...2008-03-22 16:16:16 · 98 阅读 · 0 评论 -
代理模式
七. 代理模式整理自 《java与模式》阎宏编著 1.意图: 给某个对象提供一个代理对象,并由代理对象控制对原对象的引用。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10071/b13dbe5e-9475-3545-b1ae-4ff36f22a31f.jpg[/img] ...2008-03-22 20:42:30 · 99 阅读 · 0 评论 -
合成模式(整体-部分模式)
八. 合成模式(整体-部分模式)整理自 《java与模式》阎宏编著 1.意图: 合成模式将“部分”与”整体”的关系用树结构表示出来。合成模允许客户端把一个个单独的成份对象和由它们复合而成的合成对象同等看待。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10075/386fcd2d-d47f...2008-03-22 20:45:19 · 189 阅读 · 0 评论 -
门面模式(外观模式)
九. 门面模式(外观模式)整理自 《java与模式》阎宏编著 1.意图: 外部与子系统的通信必须通过统一的门面(Facade)对象进行。2.类图: [img]http://eneasy.iteye.com/upload/picture/pic/10077/bd5bc861-2da1-350a-9fc1-a0a62cd191c4.jpg[/img] ...2008-03-22 20:46:51 · 161 阅读 · 0 评论 -
命令查询原则
命令查询原则(command-query separation principle)摘自《UML和模式运用》Craig Larman著 李洋 等译任何方法都可能是如下情况之一:1)执行动作(更新,调整…..)的命令方法,这种方法通常具有改变对象状态等副作用,并且是void(没有返回值的)。2) 向调用者返回数据的查询,这种方法没有副作用,不会永久性地改变任何对象的状态。一个...2008-03-22 22:51:24 · 130 阅读 · 0 评论