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