摘要: 1. 意图 表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作 2. 动机 假如你的团队开发了一款能够使用巨型图像中地理信息的应用程序。图像中的每个节点既能代表复杂实体(例如一座城市),也能代表更精细的对象(例如工业区和旅游景点等)。如果节点代表 阅读全文
posted @ 2021-07-28 19:56 慕仙白 阅读(182) 评论(0) 推荐(0)
摘要: 1. 意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的对象都得到通知并被自动更新 2. 动机 假设这样一种情况,顾客对某个特定品牌的产品非常感兴趣(例如最新型号的 iPhone 手机),而该产品很快将会在商店里出售。顾客可以每天来商店看看产品是否到货。但如果商品尚未 阅读全文
posted @ 2021-07-28 18:51 慕仙白 阅读(206) 评论(0) 推荐(0)
摘要: 1. 意图 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类 2. 动机 状态模式与有限状态机的概念紧密相关。其主要思想是程序在任意时刻仅可处于几种有限的状态中。在任何一个特定状态中,程序的行为都不相同,且可瞬间从一个状态切换到另一个状态。不过,根据当前状态,程序可能会切换到另 阅读全文
posted @ 2021-07-28 16:24 慕仙白 阅读(239) 评论(0) 推荐(0)
摘要: 1. 意图 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤 2. 动机 假设正在开发一款分析公司文档的数据挖掘程序。用户需要向程序输入各种格式(PDF、DOC或CSV)的文档,程序则会从这些文档中抽取 阅读全文
posted @ 2021-07-28 15:08 慕仙白 阅读(406) 评论(0) 推荐(0)
摘要: 1. 意图 在不破坏封装性的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态 2. 动机 假如你开发一款文字编辑器应用程序。除了简单的文字编辑功能外,编辑器还要有设置文本格式和插入内嵌图片的等功能。后来,决定添加一个让用户能撤销施加在文本上的任何操作 阅读全文
posted @ 2021-07-28 12:56 慕仙白 阅读(214) 评论(0) 推荐(0)
摘要: 1. 意图 将请求转换为一个包含与请求相关的所有信息的独立对象。该转换让你能根据不同的请求将方法参数化、延迟请求执行或将其放入队列中,且能实现可撤销操作 2. 动机 假如开发一款新的文字编辑器,当前的任务是创建一个包含多个按钮的工具栏,并让每个按钮对应编辑器的不同操作。创建了一个非常简洁的按钮类,它 阅读全文
posted @ 2021-07-28 11:13 慕仙白 阅读(137) 评论(0) 推荐(0)
摘要: 1. 意图 用一个中介对象来封装一系列的对象交互。中介者是各个对象不需要显示的相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互 2. 动机 面向对象设计鼓励将行为分布到各个对象中。这种分布可能导致对象间有很多连接。在最坏的情况,每一个对象都知道其他对象的存在。 虽然将一个系统分割成许多对 阅读全文
posted @ 2021-07-28 09:10 慕仙白 阅读(141) 评论(0) 推荐(0)
摘要: 1. 意图 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止 2. 动机 假设现在开发一个在线订购系统。希望对系统访问进行限制,只允许认证用户创建订单。可是,在接下来的几个月里,不断有新的需求提了出来... 阅读全文
posted @ 2021-07-27 22:53 慕仙白 阅读(130) 评论(0) 推荐(0)
摘要: 1. 意图 提供对象的替代品或其占位符。代理控制着对于原对象的访问,允许在将请求提交给对象前后进行一些处理 2. 动机 在面向对象的系统中,有些对象由于某种原因(比如对象创建的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等),直接访问对象会给使用者或者系统结构带来很多麻烦 3. 适用性 阅读全文
posted @ 2021-07-27 20:57 慕仙白 阅读(205) 评论(0) 推荐(0)
摘要: 1. 意图 运用共享技术有效的支持大量细粒度的对象 2. 动机 假设开发了一款简单的游戏:玩家们在地图上移动并进行相互射击。大量的子弹、导弹和爆炸弹片在整个地图上穿行,为玩家提供紧张刺激的游戏体验。但是,运行了几分钟后,游戏因为内存容量不足而发生了崩溃。研究发现,每个粒子(一颗子弹、 一枚导弹或一块 阅读全文
posted @ 2021-07-27 16:17 慕仙白 阅读(150) 评论(0) 推荐(0)