摘要: 一、什么是享元模式享元模式(Flyweight Pattern):以共享的方式高效的支持大量的细粒度对象。通过复用内存中已存在的对象,降低系统创建对象实例的性能消耗。 享元的英文是Flyweight,是一个来自体育方面的专业用语,在拳击、摔跤和举重比赛中特指最轻量的级别。把这个单词移植到软件工程中, 阅读全文
posted @ 2019-04-03 14:54 寄月楼主 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式 抽象工厂模式 原型模式 建造者模式 单例模式 结构型模式: 装饰模式 代理模式 适配器模式 享元模式 外观模式 组合模式 桥接模式 行为型模式: 策略模式 模板方法模式 观察者模式 状态模式 备忘录模式 迭代器模式 命令模式 职责链模式 中介者模式 解释器模式 访问者模式 六大原则: 阅读全文
posted @ 2019-04-03 14:29 寄月楼主 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 都是基于个人理解,本文是为了帮助记忆。 相同点:原型模式和拷贝构造函数都是要产生对象的复制品。 不同点:原型模式实现的是一个clone接口,注意是接口,也就是基于多态的clone虚函数。也就是说原型模式能够通过基类指针来复制派生类对象。拷贝构造函数完不成这样的任务。 原型模式的核心是克隆,构造函数只 阅读全文
posted @ 2019-04-03 14:08 寄月楼主 阅读(1305) 评论(0) 推荐(1) 编辑
摘要: 外观模式,我的理解就是模块封装。比如要实现A类,需要B\C\D三个类,客户调用A类成员函数,A类调用B\C\D。对应客户看不到bcd,只能看到A,因此成为外观模式。这里理解为关联关系。 阅读全文
posted @ 2019-04-03 13:47 寄月楼主 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 在面向对象编程领域中,开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。该特性在产品化的环境中是特别有价值的,在这种环境中,改变源代码需要代码审查,单元测试以及诸如此类的用以确保产品使用质量的过 阅读全文
posted @ 2019-04-03 11:23 寄月楼主 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 模板模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的接口即可重定义改算法的某些特定步骤。 1、基于继承和多态 2、在基类中完成算法调用过程,用派生类去实现每个需要细化的过程。 优点 (1)具体细节步骤实现定义在子类中,子类定义详细处理 阅读全文
posted @ 2019-04-03 11:22 寄月楼主 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 1、组合关系 部分与整体 A包含B,B与A的生存期相同;就是A类定义了B类的对象作为成员。 2、聚合关系 部分与整体 A包含B, B与A的生存期不同;比如A类中定义了vector<B*>作为成员。 3、关联关系 A知道B; 比如A中定义了B的指针,当然A和B可以互相知道。 4、依赖关系 A依赖B; 阅读全文
posted @ 2019-04-03 10:56 寄月楼主 阅读(283) 评论(0) 推荐(0) 编辑
摘要: Aggregation(聚合) 聚类发生的场景是:一个类是另一个类的集合或者容器,但被包含的类与容器本身并不具备相同的生命期,也就是容器销毁时,其包含的内容未必。关联(association)与聚合(aggregation)的不同之处在于,关联关系不存在一个明确的容器包含另外一个类。比如汽车和轮胎的 阅读全文
posted @ 2019-04-03 09:40 寄月楼主 阅读(334) 评论(0) 推荐(0) 编辑
摘要: class A、B、C都实现dispatch接口,实现set_next接口;都派生自同一个基类。 A a B b C c a.set_next(b) b.set_next(c) a.dispatch() 这样形成逐级审批调用,在dispatch里实现接力。 当然另一种实现方式是在外部维护一个list 阅读全文
posted @ 2019-04-02 16:57 寄月楼主 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 组合模式:是一种树形结构 桥接模式:N个操作系统,M个不同品牌电脑 电脑虚基类:实现install_os(os*) 操作系统虚基类:实现install() linux = new LinuxOS() windows = new WindosOS() pc = new ApplePC() pc->in 阅读全文
posted @ 2019-04-02 16:31 寄月楼主 阅读(922) 评论(0) 推荐(0) 编辑