随笔分类 - C/C++
摘要:解释器模式(Interpreter) “领域规则”模式 在特定领域中,虽然某些变化发生频繁,但是可以抽象为某种规则,此时,结合特定领域,可将该问题抽象为语法规则,从而给出在该领域下的一般性解决方案。 解释器模式(Interpreter)简介: 给定一个语言,定义它文法的一种表示,并定义一个解释器,这
阅读全文
摘要:访问器模式(Visitor) “行为变化”类模式 在组件的构建过程中,组件行为的变化经常导致组建本身剧烈的变化。“行为变化”类模式将组件的行为和组件本身进行解耦,从而支持组件行为的变化,实现两者之间的松耦合。 访问器模式(Visitor)简介: 表示一个作用于某个对象结构中各元素(子类)的操作。使得
阅读全文
摘要:命令模式(Command) “行为变化”类模式 在组件的构建过程中,组件行为的变化经常导致组建本身剧烈的变化。“行为变化”类模式将组件的行为和组件本身进行解耦,从而支持组件行为的变化,实现两者之间的松耦合。 命令模式(Command)简介: 将请求封装成为一个对象,从而使我们可以使用不同的请求对客户
阅读全文
摘要:责任链模式(Chain Of Responsibility) “数据结构”类模式 当一些组件在内部具有特定的数据结构,为了不让客户程序对这些数据结构产生依赖而导致破坏组件的复用性。此时,将这些特定的数据结构封装在内部,对外部提供统一的接口。 责任链模式(Chain Of Responsibility
阅读全文
摘要:迭代器模式(Iterator) “数据结构”类模式 当一些组件在内部具有特定的数据结构,为了不让客户程序对这些数据结构产生依赖而导致破坏组件的复用性。此时,将这些特定的数据结构封装在内部,对外部提供统一的接口。 迭代器模式(Iterator)简介: 提供一种方法顺序访问一个聚合对象中的各个元素,而又
阅读全文
摘要:组合模式(Composite) “数据结构”类模式 当一些组件在内部具有特定的数据结构,为了不让客户程序对这些数据结构产生依赖而导致破坏组件的复用性。此时,将这些特定的数据结构封装在内部,对外部提供统一的接口。 组合模式(Composite)简介: 将对象组合成树形结构以表示“整体与部分”的层次结构
阅读全文
摘要:备忘录模式(Memento) “状态变化”类模式 在组件构建过程中,当 某些对象的状态 经常变化时,此时我们需要既对这些 对象状态的变化 进行管理又维持高层次模块的稳定性,即可以通过“ 状态变化 ”类的模式来进行解决。 备忘录模式(Memento)简介: 在不破坏封装性的前提下,捕获一个对象的内部状
阅读全文
摘要:状态模式(State) 在组件构建过程中,当 某些对象的状态 经常变化时,此时我们需要既对这些 对象状态的变化 进行管理又维持高层次模块的稳定性,即可以通过“ 状态变化 ”类的模式来进行解决。 状态模式(State)简介: 让一个 对象的行为 随着 内部的状态类变化 而变化,而该对象外部就像是 换了
阅读全文
摘要:中介者模式(Mediator) 中介者模式(Mediator)简介: 用一个中介对象来封装一系列对象的交互。中介者模式是各个对象不再显式的相互引用,从而降低耦合,并且可以独立的改变各个对象之间的交互。 中介者模式结构: C++代码 Colleague抽象类及其具体实现类: 客户端代码: C 代码 C
阅读全文
摘要:适配器模式(Adapter) Adapter模式简介: 将一个类的接口转换成客户希望的另外一个接口,Adapter模式使原本因为接口不兼容而不能一起工作的那些类可以在一起工作。 Adapter模式结构: REF 书籍: 设计模式与游戏开发、大话设计模式 GitHub: "https://github
阅读全文
摘要:代理模式(Proxy) Proxy模式简介: 为 其他对象 提供一种 代理以控制 该对象的访问。 Proxy模式结构: REF 书籍: 设计模式与游戏开发、大话设计模式 GitHub: "https://github.com/me115/design_patterns"
阅读全文
摘要:外观模式(Facade) 外观模式(Facade)简介: 外观模式为 子系统中的一组接口 提供一个 已知的界面 ,即定义一个 高层接口 ,使 子系统更加容易使用 。 外观模式体现了 依赖倒转原则 和 迪米特法则 的思想,是常用的设计模式。 外观模式结构: C++代码 子系统类: 客户端调用: C 代
阅读全文
摘要:享元模式(Flyweight) Flyweight模式简介: 运用 共享 技术有效的支持 大量细粒度的对象 。 Flyweight模式结构: REF 书籍: 设计模式与游戏开发、大话设计模式 GitHub: "https://github.com/me115/design_patterns"
阅读全文
摘要:单例模式(Singleton) 单例模式(Singleton)简介: 单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。使用单例模式能够让设计师快速获取提供某项服务或者功能的对象,可以省去层层传递对象的困扰。 单例模式在实现时,需要编程语言的支持,需要编程语言具有静态类属性、静态类方法以
阅读全文
摘要:建造者模式(Builder) Builder模式简介: 将一个 复杂对象的构建 与 其表示 相分离,使得 同样的构建过程(稳定部分) 可以创建 不同的表示(变化) 。 Builder模式结构: Builder模式要点: Builder模式主要用于分步骤构建一个复杂对象,其中的构建步骤是稳定的,而负责
阅读全文
摘要:原型模式(Prototype) Prototype模式简介: 使用 原型实例 来指定 所要创建对象 的种类 ,然后通过拷贝 原型实例 来创建新的对象。 Prototype模式结构: 注意事项: 使用原型模式时,要注意浅复制与深复制之间的区别(即C++中默认的复制构造函数或者C 中所有类都继承了的Me
阅读全文
摘要:抽象工厂(Abstract Factory) Abstract Factory模式简介: 提供一个创建 一系列相关或者相互依赖对象 的接口,而无需指定它们具体的类。 Abstract Factory模式结构: C++代码 AbstractProductA抽象类以及1系列和2系列的具体实现类: C 代
阅读全文
摘要:工厂方法(Factory Method) Factory Method模式简介: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 Factory Method模式结构: C++代码 Product抽象类以及ConcreteProduct具体实现类: C
阅读全文
摘要:桥模式(Bridge) Bridge模式简介: 将 抽象部分 与它的 实现部分 分离,使它们都可以 独立的变化 。 合成、聚合复用原则: 合成/组合(Composition),一种强拥有关系,体现严格的 整体 与 部分 的关系, 整体 与 部分 的生命周期一样。 聚合(Aggregation),一种
阅读全文
摘要:装饰模式(Decorator) 装饰模式(Decorator)简介: 动态的为一个对象增加额外的职责,为对象增加功能时,使用装饰模式比单纯的子类继承要更加的灵活。 装饰模式结构: C++代码 BaseClass对象抽象基类以及ConcreteClass具体对象实现类: C 代码 BaseClass对
阅读全文

浙公网安备 33010602011771号