摘要: 命令模式:将一个请求封装为一个对象,从而使你可用不同的的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作. 命令模式的作用: 它能较容易的设置一个命令队列 在需要的情况下,可以较容易的将命令计入日志 允许接收请求的一方决定是否拒绝请求 可以容易的实现对请求的的撤销和重做 由于加进 阅读全文
posted @ 2017-06-21 23:07 C_Guangjin 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 桥接模式(Bridge):将抽象与它的实现部分分离,使它们都可以独立变化. (ps:什么叫抽象和实现分离,这并不是说,让抽象类与其派生类分离, 因为这没有任何意义.实现指的是抽象类和它的派生类用来实现自己的对象.) 合成/聚合复用原则:尽量使用合成/聚合,尽量不使用类继承. (ps:优先使用对象的合 阅读全文
posted @ 2017-06-20 23:17 C_Guangjin 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象内部的表示. 迭代器模式结构图: 代码实现: 阅读全文
posted @ 2017-06-19 23:05 C_Guangjin 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 组合模式结构图: 透明方式与安全方式: 透明方式:在Component中声明所有用来管理子对象的方法,例如add remove的等。这样继承Component的所有子对象都具备了ad 阅读全文
posted @ 2017-06-15 00:27 C_Guangjin 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。 备忘录模式结构图: 何时使用备忘录模式: Memento模式比适合用于功能比较复杂的,但需要维护或记录属性历史的类,或者需要保存的属性只是众多属性中的一小部分时,Or 阅读全文
posted @ 2017-06-14 00:19 C_Guangjin 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式结构图: 代码实现: 阅读全文
posted @ 2017-06-12 23:17 C_Guangjin 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 建造者模式:将一个复杂的对象的构建过程与他的表示分离,使得同样的创建过程可以创建不同的表示。 建造者模式结构图: 代码实现: 阅读全文
posted @ 2017-06-11 00:13 C_Guangjin 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式结构图: 代码实现: 何时使用外观模式: 首先,在设计的初期阶段,应该要有意识的将不同的两个层分离,层与层之间建立外观Facade,这样可以为复杂的子系统提供一个简单的接口,使得 阅读全文
posted @ 2017-06-10 00:30 C_Guangjin 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 原型模式:用原型实例指定创建对象的种类,并通过这些原型创建新的对象。 原型模式结构图: 代码实现: 阅读全文
posted @ 2017-06-09 00:27 C_Guangjin 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。 装饰模式是为已有的功能添加更多功能的一种方式。它把每个要装饰的功能放在单独的类中,并让这个类包装他所装饰的对象,因此,当需要执行特殊行为时,客户代码就可以在运行时根据需要有选择地、按顺序地使用装饰功能包装对象 阅读全文
posted @ 2017-06-07 01:00 C_Guangjin 阅读(126) 评论(0) 推荐(0) 编辑