![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
文章平均质量分 55
设计模式。没有更多简介了,就酱紫。。。
我叫RT
无它,唯手熟耳。
心之所向,莫向外求。
展开
-
工厂模式实现
类中存在纯虚函数,为抽象类,不能实例化。 类中的静态方法可以通过对象或类名调用。 如果,我们将抽象类,或者普通类的构造函数设置为保护态,那么就相当于无法通过外部的行为构造对象,只能通过不依赖this的静态方法调用(静态方法调用构造函数)。 工厂模式: 当我们需要什么,只需要传入正确的参数,就可以得到对应的对象。我们无需知道其创建细节。 简单工厂模式又叫静态方法模式(因为工厂类定义了一个静态方法) 模式组成 组成(角色) 关系 作用 抽象产品(Product) 具体产品的父类 描述产品的公共原创 2021-02-06 22:48:53 · 149 阅读 · 0 评论 -
单例模式多种实现方式
饿汉模式: 1。返回静态对象(唯一对象)地址 class Singleton { public: static Singleton* GetInstance() { return &instance; } ~Singleton() {} private: Singleton() {} Singleton(const Singleton& src) = delete; Singleton& operator=(const Singleton&) = delet原创 2021-02-08 13:11:48 · 72 阅读 · 0 评论 -
行为模式——观察者模式
行为型模式: 关注系统中对象之间的相互交互,研究运行时对象之间的相互通信和协作,明确对象职。 观察者模式 建立对象间的一对多关系,使一个对象变化被所有关联对象感知。 角色 抽象主题(Subject): 它把所有观察者对象的引用保存到一个聚集里,每个主题都可以有任何数量的观察者。抽象主题提供一个接口,可以增加和删除观察者对象。 具体主题(Concrete Subject): 将有关状态存入具体观察者对象;在具体主题内部状态改变时,给所有登记过的观察者发出通知。 抽象观察者(Observer): 为所有的具体原创 2021-02-08 19:31:01 · 62 阅读 · 0 评论 -
工厂模式 | 简单工厂模式、工厂模式、抽象工厂模式
工厂模式: 它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 步骤: 创建一个接口: Shape 创建实现接口的实体类: Rectangle /Square /Circle 创建一个工厂,生成基于给定信息的实体类的对象。ShapeFactory 使用该工厂,通过传递类型信息来获取实体类的对象。 class Shape { public: virtual void draw() = 0 ; }; class原创 2021-08-24 17:15:06 · 267 阅读 · 0 评论 -
适配器模式
#include <iostream> #include <Windows.h> #include <vector> #include <string> #include <algorithm> using namespace std; #if 0 /* 场景:公司职员,她朋友是高手。 如果某项工作不能完成,会找她朋友帮忙 现在设计适配器类,间接调用她朋友 */原创 2021-02-14 15:47:08 · 56 阅读 · 0 评论 -
单例模式 | C++ | Singleton模式
Singleton 模式 单例模式(Singleton Pattern)是 C++/Java等语言中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式实现了类只能创建唯一实例的功能。并且由该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 单例模式有三种经典的设计方案: ...原创 2020-02-28 13:10:33 · 371 阅读 · 0 评论