![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 51
谢银森
新丰美酒斗十千、咸阳游侠多少年、相逢意气为君饮、系马高楼垂柳边、
展开
-
行为型设计模式--观察者模式
定义: 对象间的依赖关系,当一个对象变化,其他依赖对象也随之变化。又称为 发布-订阅者模式。Publish/Subscribe参与者:Subject:目标,知道它的观察者,提供注册和删除观察者对象的接口Observer:观察者,为那些在目标发生改变时需获得通知的对象定义一个更新接口ConcreteSubject:具体目标,存储对象状态,状态改变时,向各个观察者发出通知ConcreteObserver:具体观察者,维护一个指向ConcreteSubject对象的引用,存储有关状..原创 2022-01-28 21:05:56 · 74 阅读 · 0 评论 -
行为型设计模式---命令模式
行为型模式1、不仅仅关注类和对象结构、而且关注他们之间的相互作用。2、注重对象之间的协同。对象行为模式:使用对象的聚合关联关系来分配行为。对合成复用原则、尽量使用关联关系来替代继承关系。命令模式:行为型模式中的一种。定义:将一个请求封装为对象,从而使我们用不同请求对客户发出不同行为。发送者和接受者之间解耦。从图1 可以看出是一种调用者到命令、命令抽象化,根据具体命令执行具体动作,然后到客户端的接受者。从图2 可以看出 通过命令的参数化,完成不同行为的动作。关.原创 2022-01-25 22:12:11 · 349 阅读 · 0 评论 -
设计模式----代理模式
代理模式属于结构型模式客户不想直接访问一个对象,通过一个代理进行间接访问。但是又区别于外观,外观是对多个子系统抽象,而代理是间接访问,重点强调间接,外观重点强调抽象统一外观。定义:给某个对象提供一个代理,并由代理控制原对象的引用。对象结构型模式。实现demo:main.cpp#include <iostream>#include "RealSubject.h"#include "Proxy.h"using namespace st原创 2022-01-19 23:45:00 · 282 阅读 · 0 评论 -
结构型模式---外观模式
定义:将复杂系统统一起来,提供统一外观,外观简单,便于负责系统对外沟通。抽象复杂系统到统一外观。复杂留给自己、简单给对方。耦合度:Demo:FacadePattern.h#ifndef __FACTORY__PATTERN_H_#define __FACTORY__PATTERN_H_//子系统描述//子系统1 class Memory{ public: Memory(){}; ~Memory(){};..原创 2022-01-14 00:00:00 · 146 阅读 · 0 评论 -
设计模式--桥接模式
桥接模式定义:对于两个变化维度(或多个)的系统、进行各自维度的拓展、将抽象部分与她的实现部分分离,一种对象结构模式。又称为柄体系模式或者接口模式。本质是:类关系中的实现、关联。实现demo:文件BridgePattern.h#ifndef __BRIDGE_PATTERN_H__#define __BRIDGE_PATTERN_H__#include <iostream>#include <string.h>#include <原创 2021-12-29 22:00:00 · 431 阅读 · 0 评论 -
结构型设计---适配器模式
适配器定义:提供给客户(暂定为client)的接口(接口类定为target)不能满足功能。但是客户端的内容不希望变化,通过重写target, 完成功能迁移-》适配。引入一个适配者类和适配器类。其中适配者类为clien类的子类,通过适配者引入适配器完成新功能。保持对外提供的类的接口不变化。优点:1、解耦、对外透明、灵活性好。通过配置文件可以灵活引入。2、一个适配者可以引入多个适配器。灵活。原创 2021-12-27 21:01:33 · 209 阅读 · 0 评论 -
类创建模式---单例模式(内容丰富)
定义抽象:1、这个类只能存在一个实例、2、自行实例 3、全局提供。原创 2021-12-02 16:52:47 · 512 阅读 · 0 评论 -
设计模式-抽象工厂。
# 抽象工厂 工厂模式中具体工厂负责具体产品,每一个具体工厂对应一个具体产品,工厂方法具有唯一性。有时候需要一个工厂提供多个产品对象,而不是单一的产品对象。 引入两个概念、* 产品等级结构 产品等级结构即产品的继承结构、如抽象类是电视机,子类有黑色电视机、白色电视机。* 产品族 在抽象工厂模式内,产品族是同一个工厂生产的,位于不同产品等级结构的一组产品。 如黑色冰箱,白色冰箱。当一个工厂等级结构可以创建出分属于不同产品等级结构的一...原创 2021-11-26 20:40:30 · 265 阅读 · 0 评论 -
设计模式-简单工厂
* 1、简单工厂模式属于类创建模式,根据参数不同返回不同类的实例,专门定义了一个类(工厂类)来创建其他(具体产品类)的实例,具体产品类都有共同父类、抽象产品类。对工厂类进行传参。优点:对外不用关注具体实现,只需要增加一个新的具体产品类。缺点:每次改动整个工厂类都要改动。伪代码:inlcude "Factory.h"include "ConcreteProductA.h"inlcude "ConcreteProductB.h"Product* Factory::createP原创 2021-11-25 19:08:41 · 163 阅读 · 0 评论 -
设计模式-工厂模式
* 2、工厂模式伪代码1ifndef _FACTORY_METHOD_define _FACTORY_METHOD_includeincludeusing namespace std;抽象产品类:基类class AbstractProduct{public: AbstractProduct(){}构造函数 virtual ~AbstractProduct(){} virtual void play();};具体产品类 子类继承:实现 (继承抽..原创 2021-11-25 19:09:58 · 333 阅读 · 0 评论