摘要:
定义: 适配器模式,即定义一个包装类,用于包装不兼容接口的对象 解决的问题: 原本由于接口不兼容而不能一起工作的那些类可以在一起工作 类别: 类的适配器模式和对象的适配器模式 uml类图: 模式组成 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口 需要适配的类( 阅读全文
摘要:
参考文章 http://blog.csdn.net/sinat_26342009/article/details/46419873 继承vs组合:http://www.cnblogs.com/feichengwulai/articles/4137395.html 面向接口编程:https://www 阅读全文
摘要:
参考文档: https://www.cnblogs.com/toutou/p/4899388.html http://blog.csdn.net/jason0539/article/details/23020989 简单工厂模式:http://www.jianshu.com/p/e55fbddc07 阅读全文
摘要:
定义: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 解决的问题: 方便用户创建复杂的对象(不需要知道实现过程) 代码复用性 & 封装性(将对象构建过程和细节进行封装 & 复用) uml类图: 模式组成: Builder:抽象建造者。为创建一个产品对象的各个部件指定抽象接 阅读全文
摘要:
含义: 一个实例 一个实例 解决的问题: 解决对象的耦合度 解决对象的耦合度 优点: 提供了对唯一实例的受控访问 由于在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能 可以根据实际情况需要,在单例模式的基础上扩展做出双例模式,多例模式; 阅读全文
摘要:
定义: 定义一系列算法,将每个算法封装到具有公共接口的一系列策略类中,从而使它们可以相互替换,并让算法可以在不影响到客户端的情况下发生变化。 解决的问题: 使得客户端可以根据外部条件选择不同策略来解决不同问题 策略模式仅仅封装算法(包括添加 & 删除),但策略模式并不决定在何时使用何种算法,算法的选 阅读全文
摘要:
定义: 定义一个模板结构,将具体内容延迟到子类去实现。 解决的问题: 提高代码复用性。将相同部分的代码放在抽象的父类中,而将不同的代码放入不同的子类中 实现了反向控制。通过一个父类调用其子类的操作,通过对子类的具体实现扩展不同的行为,实现了反向控制 & 符合“开闭原则” uml类图: 模式组成: A 阅读全文
摘要:
定义: 定义了一个高层、统一的接口,外部与通过这个统一的接口对子系统中的一群接口进行访问。 解决的问题: 避免了系统与系统之间的高耦合度 使得复杂的子系统用法变得简单 uml类图: 模式组成: Facade:外观角色。是模式的核心,他被客户client角色调用,知道各个子系统的功能。同时根据客户角色 阅读全文