设计模式
一盏茶,一盘棋,一人生
客
展开
-
Builder-建造者模式
设计模式之建造者模式 Builder模式要解决的问题:当我们创建对象是一个很复杂的问题(通常是由很多其他的对象组合而成的),我们要这个复杂的对象一步一步创建,在创建时根据实际情况创建对象。使得经过相同的步骤创建的对象,所得到的对象展示也不一样。 Product 类 /* * @Descripttion: * @version: * @Author: aaron * @Date: 2021-11-21 19:30:38 * @LastEditors: aaron * @LastEditTim原创 2021-12-01 13:55:08 · 171 阅读 · 0 评论 -
设计模式-抽象工厂模式
抽象工厂(AbstractFactory)模式的定义:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。 抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。 使用抽象工厂模式一般要满足以下条件。 系统中有多个产品族,每个具体工厂创建同一族但属于不同等级结构的产品。 系统一次只可能消费其中某一族产品,即同族的产品一起使用。 抽象工厂模式除了具有工厂方法模式的优点外,其他主要优原创 2021-10-27 15:21:07 · 93 阅读 · 0 评论 -
设计模式-工厂模式
工厂模式 写得比较垃圾,下次尽量写好点 #ifndef _MONSTER_H_ #define _MONSTER_H_ #include<iostream> class CMonster { protected: public: virtual ~CMonster()=0; CMonster(); void setCry(std::string Cry); void setHight(int h); int getHight()const; std::string getCry(原创 2021-10-27 14:40:00 · 98 阅读 · 0 评论 -
单例模式
单例模式 单例模式的特点就是对象唯一。只能创建一个对象,想必应该在思考,如何才能创建一个(new Singleton)而且只能new 一个,且要保证他的唯一性(一个对象)。一个类只有一个对象,我们必须将构造函数私有化,这样就没有权限。但这也就是说,这个类必须实例化,不是由我们去实例化,所以这必须使用的是静态方法 ,值得一提的是,我想写一下为什么要隐藏析构函数(这不是必须的),我们知道析构函数的目的是清理结束这个对象。释放他的一些资源。 ~Director() { delete s_director; }原创 2021-05-15 10:30:12 · 70 阅读 · 0 评论 -
抽象工厂
抽象工厂 抽象工厂,比简单工厂功能更复杂了一点。抽象工厂能做更复杂的事情。抽象工厂需要一个抽象工厂。继承他的子工厂。抽象产品类。这跟简单工厂差不多。唯一的区别的多了一个抽象工厂类。具体的工厂。既然如此。我们为什么还要写抽象工厂类,不是也可以多写几个工厂,这不就可以解决问题了。引入抽象工厂目的是为了实现多态。继承的目的就是为了实现多态。下面这个例子更好的理解 抽象工厂 #pragma once #include"WildWolf.h" #include"WildBoar.h" class MonsterFa原创 2021-05-14 18:42:45 · 59 阅读 · 0 评论 -
工厂设计模式
简单工厂模式工厂模式是为了创建大量相同的对象而设计的,工厂模式又分为简单工厂和抽象工厂,可以理解为初级工厂和高级工厂。高级工厂能做更多的事情。 工厂模式是为了创建大量相同的对象而设计的,工厂模式又分为简单工厂和抽象工厂,可以理解为初级工厂和高级工厂。高级工厂能做更多的事情。 简单工厂:一个工厂类,用来生成各种产品,产品有很多种,所以定义一个抽象的产品类。实现多态。工厂模式是经常被使用的一种方法。下面是一个例子。 工厂类: #pragma once #include"Animal.h" class Facto原创 2021-05-13 20:58:19 · 60 阅读 · 0 评论