摘要: 一:概念 二:动机 三:模式定义 四:类图(结构) 五:代码讲解 六:要点总结 (一)Adapter模式主要应用于“希望复用一些现存的类,但是接口又与服用环境要求不一致的情况”,在遗留代码复用、类库迁移等方面非常有用。 (二)GoF23定义了两种Adapter模式的结构实现:对象适配器和类适配器。但 阅读全文
posted @ 2018-08-27 10:49 山上有风景 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 一:概念 二:动机 三:模式定义 四:类图(结构) 五:代码讲解 (一)原代码 (二)代理版本 六:要点总结 (一)“增加一层间接层”是软件系统中对许多复杂问题的一种常见解决方案。在面向对象系统中,直接使用某些对象会带来很多问题,作为间接层的Proxy对象便是解决这一问题的常用手段。 (二)具体Pr 阅读全文
posted @ 2018-08-27 10:20 山上有风景 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 前提:接口隔离模式 典型模式: 一:门面模式(外观模式) 推文:外观模式 Facade Pattern (一)概念 (二)动机 (三)系统间耦合的复杂度 (四)模式定义 (五)结构(没有特定的模式) (六)要点总结: (将子系统的变化限制在一个范围内) 1.从客户程序的角度来看, Façade 模式 阅读全文
posted @ 2018-08-27 09:49 山上有风景 阅读(733) 评论(0) 推荐(0) 编辑
摘要: 一:概念 二:动机 三:模式定义 四:代码讲解 五:类图(结构) 六:要点总结 (一)面向对象很好的解决了抽相性的问题,但是作为一个运行在机器中的程序实体,我们需要考虑对象的代价问题。Flyweight主要解决面向的代价问题,一般不触及面向对象的抽象性问题。 (二)Flyweight采用对象共享的做 阅读全文
posted @ 2018-08-27 09:24 山上有风景 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 前提:“对象性能”模式 面向对象很好的解决了“抽象”的问题,但是必不可免地要付出一定的代价。对于通常情况来讲,面向对象的成本大都可以忽略不计。但是某些情况,面向对象所带来的成本必须谨慎处理。 前面是利用抽象手段来实现松耦合的设计,但是抽象必不可免的会带来一定代价,比如虚函数(倍乘) 典型模式: 单件 阅读全文
posted @ 2018-08-27 08:29 山上有风景 阅读(487) 评论(0) 推荐(0) 编辑