摘要:
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)

浙公网安备 33010602011771号