上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 71 下一页
摘要: 前提:状态变化模式 典型模式 一:State状态模式 (一)概念 (二)动机 (三)代码讲解 1.原代码 2.改进代码,将基类抽出 (四)模式定义 (五)类图(结构) (六)要点总结 1.State模式将所有与一个特定状态相关的行为都放入一个State的子类对象中,在对象状态切换时, 切换相应的对象 阅读全文
posted @ 2018-08-28 08:11 山上有风景 阅读(797) 评论(0) 推荐(0) 编辑
摘要: 一:概念 二:动机 三:模式定义 四:结构 五:与Facade模式比较 六:类图 七:要点总结 (一)将多个对象间复杂的关联关系解耦,Mediator模式将多个对象间的控制逻辑进行集中管理(定义一套调用机制的协议),变“多个对象互相关联”为“多个对象和一个中介者关联”,简化了系统的维护,抵御了可能的 阅读全文
posted @ 2018-08-28 07:30 山上有风景 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 一:概念 二:动机 三:模式定义 四:类图(结构) 五:代码讲解 六:要点总结 (一)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) 编辑
摘要: 一:概念 二:动机 三:代码解析(建造房子) 四:模式定义 五:进一步优化(对象过于复杂,除了上面步骤还有其他方法和属性) 六:类图(结构) 七:要点总结 (一)Builder模式主要用于“分步骤构建一个复杂对象”。在这其中“分步骤”是一个稳定算法,而复杂对象的各个部分则经常变化。 (二)变化的点在 阅读全文
posted @ 2018-08-26 19:39 山上有风景 阅读(684) 评论(0) 推荐(0) 编辑
摘要: 一:概念 二:动机 三:代码讲解 (一)原代码 //具体类 class BinarySplitter : public ISplitter{ }; class TxtSplitter: public ISplitter{ }; class PictureSplitter: public ISplit 阅读全文
posted @ 2018-08-26 16:59 山上有风景 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 一:概念 二:动机 三:和工厂方法模式区别 四:代码讲解(连接不同数据库) (一)原代码 问题提出: (二)支持面向接口编程 (三)添加工厂 新的问题: (四)引出抽象工厂 五:模式定义 六:类图(结构) 七:要点总结 (一)如果没有应对“多系列对象构建”的需求变化,则没有必要使用 Abstract 阅读全文
posted @ 2018-08-26 14:42 山上有风景 阅读(415) 评论(0) 推荐(0) 编辑
上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 71 下一页