进步始于交流
收货源于分享

C/C++ 第3页

C++设计模式-装饰模式

阅读(293)评论(0)赞(0)

介绍 Component抽象构件 Component是一个接口或者是抽象类, 就是定义我们最核心的对象, 也就是最原始的对象, 如上面的成绩单。 ConcreteComponent 具体构件 ConcreteComponent是最核心、 最...

C++设计模式-责任链模式

阅读(735)评论(0)赞(0)

介绍 抽象处理者 Handler 定义一个请求的处理方法handleMessage,唯一对外开放的方法;定义一个链的编排方法setNext,设置下一个处理者;定义了具体的请求者必须实现的两个方法:定义自己能够处理的级别getHandlerL...

C++设计模式-命令模式

阅读(256)评论(0)赞(0)

介绍 Receive接收者角色 该角色就是干活的角色, 命令传递到这里是应该被执行的。作为抽象类,定义一个可接受消息的抽象类,从而保证多个不同的具体角色均可接受命令 Command命令角色 需要执行的所有命令都在这里声明。定义抽象类一个和一...

C++设计模式-中介者模式

阅读(260)评论(0)赞(0)

介绍 Mediator 抽象中介者角色 抽象中介者角色定义统一的接口, 用于各同事角色之间的通信。 Concrete Mediator 具体中介者角色 具体中介者角色通过协调各同事角色实现协作行为, 因此它必须依赖于各个同事角色。 Coll...

C++设计模式-代理模式

阅读(261)评论(0)赞(0)

介绍 通过代理模式可以在原有业务逻辑外增加一定的约束,比如排序、范围限制等等,无论具体主体还是代理主体都实现抽象主题 Subject抽象主题角色 抽象主题类可以是抽象类也可以是接口, 是一个最普通的业务类型定义, 无特殊要求。 RealSu...

C++设计模式-原型模式

阅读(286)评论(0)赞(0)

介绍 原型模式的核心是一个clone方法,通过该方法进行对象的拷贝 。 优点: 性能优良 ; 逃避构造函数的约束 缺点:每个类都要重写有clone方法,对于以后的类需要全面的考虑所有成员的拷贝 应用: 资源优化场景 、 性能和安全要求的场景...

C++设计模式-建造者模式

阅读(289)评论(0)赞(0)

介绍 建造者模式中, 有如下4个角色: Product产品类 通常是实现了模板方法模式, 也就是有模板方法和基本方法, 这个参考第10章的模板方法模式。 例子中的BenzModel和BMWModel就属于产品类。 Builder抽象建造者 ...

C++设计模式-模板方法模式

阅读(323)评论(0)赞(0)

介绍 由抽象模板和具体模板构成,抽象模板分为两类 基本方法:基本操作,有子类实现的方法,在模板方法中被调用 模板方法:可以由一个或多个,是一个具体的方法,也就是一个框架,实现对基本方法的掉队,完成固定的逻辑。为了防止恶意的操作一般模板方法都...

C++设计模式-工厂方法模式/抽象工厂模式

阅读(906)评论(0)赞(0)

介绍 抽象工厂模式主要有四个关键元素: 抽象产品(Product):负责定义产品的共性,实现对事物最抽象的定义。 具体产品(ConcreteProduct):具体产品可以由多个。 抽象工厂(Factory):工厂类必须实现这个接口,负责定义...

C++设计模式-单例模式

阅读(1121)评论(2)赞(0)

介绍 几个重点: 构造函数为private 提供一个获取单例对象指针的函数 一个静态指针成员存储单例对象 注意: 获取单例对象也可以获取对象引用,但要注意拷贝构造函数和赋值运算符 如果有多线程访问单例,需要注意线程同步 范例 源码GitHu...