摘要:
李忠建老师讲授设计模式笔记 更新到抽象工厂模式: 组件协作类: 模板方法 策略模式 观察者模式 单一职责类: 装饰器模式 桥模式模式 对象创建类: 工厂方法 抽象工厂方法 原型模式 构建器模式 对象性能类: 单例模式 享元模式 接口隔离类: 门面模式 代理模式 适配器模式 中介者模式 状态变化类: 阅读全文
摘要:
设计模式C++005__桥模式 也是组合模式 的具体体现。 1、动机: 由于某些类型的古有的实现逻辑,使得他们具有两个变化的维度,乃至多个维度的变化。 ?如何应对这种“多维度的变化”,如何利用面向对象技术来使得类型可以轻松地沿着两个乃至多个方向变化,而不引入额外的复杂度。 2、桥模式: 将抽象部分( 阅读全文
摘要:
设计模式C++007__抽象工厂方法模式 抽象工厂方法 1、动机: 在软件系统重,经常面临着“一系列相互依赖的对象”的创建工作;同时,由于需求的变化,往往存在更多系列对象的创建工作。 ?如何应对这种变化?如何绕过常规的对象创建方法(new),提供一种封装机制,来避免客户程序和这种“多系列具体对象创建 阅读全文
摘要:
设计模式C++004__装饰器模式 在软件组件设计中,如果职责划分不清晰,使用继承得到的结果往往会随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候关键是划清责任。 单一职责模式分类中的设计模式: 装饰器模式, 桥模式 1、装饰器模式: 动机:在某些情况下,我们可能会“过渡地使用继承来扩展对象 阅读全文
摘要:
设计模式C++003__观察者模式 1、动机: 在软件构建过程中,我们需要为某些对象建立一种“通过依赖关系”--一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使得软件不好抵御变化。 ?使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳 阅读全文
摘要:
设计模式C++002__策略模式 1、动机: 在软件构建过程中,某些对象使用的算法是多种多样的,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。 ?如何在运行时根据需要透明地更改对象的算法?将算法与对象本身解耦,从而避免上述问题? 2、策略 阅读全文
摘要:
设计模式C++001__模板方法 “组件协作”模式: 现代软件专业分工之后的第一个结果就是“框架与应用程序的划分”,组件“协作”模式通过晚绑定,来实现框架与应用程序之间的松耦合。 包括: 模版方法,观察者模式,策略模式 1、模板方法模式: 动机:在软件构建过程中,对于一项任务,它常常有稳定的整体操作 阅读全文