摘要: 中介者模式 用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。 尽管将一个系统分割成许多对象通常可以增加其可复用性,但是对象间相互连接的激增又会降低其可复用性了。 因为大量的连接使得一个对象不可能在没有其他对象的支持下工作, 阅读全文
posted @ 2018-12-05 21:47 田错 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 职责链模式 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。 将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 职责链模式的好处 当客户提交一个请求时,请求时艳链传递直至有一个具体处理者负责处理他。 接收者和发送者都没有地方的明确信息,且链中对象自己也 阅读全文
posted @ 2018-12-05 21:14 田错 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 命令模式 命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。 对于请求排队或记录请求日志,以及支持可撤销的操作,行为请求者和行为实现者的紧耦合是不合适的。 命令模式的优点 命令模式能较容易地设计一个命令模式。在需要的情况下,可以 阅读全文
posted @ 2018-12-05 19:40 田错 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 桥接模式 桥接模式将抽象部分和他的实现部分分离,是它们都可以独立地变化。 抽象与他的实现分离并不是说让抽象类与其派生类分离,因为这没有任何意义,实现指的是抽象类和他的派生类用来实现自己对象。 实现系统可能有多角度分裂,每一种分类都有可能变化,那么就把这种多角度分离出来让他们独立变化,减它们之间的耦合 阅读全文
posted @ 2018-12-05 19:03 田错 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 单例模式 单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但他不能防止你实例化多个对象。 一个最好的办法就是,让类自身负责保存他的唯一实例。 这个类可以保证没有其他实例可以被窗创建,并且他可以提供一个访问该实例的方法。 单例模式结构演示 阅读全文
posted @ 2018-12-05 18:03 田错 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 组合模式 组合模式,将对象组合成树形结构以表示部分-整体的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 使用组合模式的时机 需求在是体现部分与整体层次的结构时,以及你希望用户可以忽略组合对象与单个的不同,统一地使用组合对象中的所有对象时,就应该考虑用组合模式了。 组合模式的好处 阅读全文
posted @ 2018-12-05 16:33 田错 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 备忘录模式 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先保存的状态。 备忘录模式的特点 备忘录模式比较适用于比较复杂但需要维护或记录属性历史的类,或者需要保存的属性只是众多属性中的一小部分时,发起人可以根据保存的备忘录信息还原到前一状态 阅读全文
posted @ 2018-12-05 15:57 田错 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 适配器模式 适配器模式将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式的作用 系统的数据和行为都正确,但接口不符时,应该考虑使用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用与希望服用一些现存的 阅读全文
posted @ 2018-12-05 12:38 田错 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 状态模式 状态模式,当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。 面向对象设计其实就是希望做到代码的责任分解。状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时,把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。 状态模式的好处 阅读全文
posted @ 2018-12-05 12:15 田错 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式 抽象工厂模式提供一个创建一系列相关或互相依赖的接口,而无需再指定他们具体的类。 最大的好处是易于交换产品系列,由于具体工厂类在一个应用中只需要在初始化的时候出现一次,这使得改变一个应用的具体工厂变得非常容易,他只需要改变具体工厂即可使用不同的产品配置。 他让具体的创建实例过程与客户端分 阅读全文
posted @ 2018-12-05 10:30 田错 阅读(215) 评论(0) 推荐(0) 编辑