单例和工厂模式的创建

#pragma once

class Config

{

private:

static Config * con;

Config(void);

Config(const Config & con);//拷贝构造置为私有

public:

float cpu;

float memory;

float harddisk;

~Config(void);

//注意声明有static 静态。

static Config * getInstance();

void creatInstance();

//工厂模式声明

static Config * Create();

};

-----------------------------------------------------------------------------

Config::Config(void)

{

}

Config::~Config(void)

{

}

//单例模式返回类型为类指针,让构造方法和拷贝构造方法均为私有,保证只能创建一个类对象。

Config * Config::con  = nullptr;

Config *Config::getInstance(){

if (con == nullptr)

{

con = new Config();

con->cpu = 3;

con->memory = 4;

con->harddisk = 512;

}

return con;

}

void creatInstance(){

}

//工厂模式创建

 

Config * Config::Create(){

Config *co = new Config();

return co;

主函数单例的调用:Config * cp = Config::getInstance();

}

单例和工厂模式的创建

时间: 2024-10-12 02:26:46

单例和工厂模式的创建的相关文章

Swift百万线程攻破单例(Singleton)模式

一.不安全的单例实现 在上一篇文章我们给出了单例的设计模式,直接给出了线程安全的实现方法.单例的实现有多种方法,如下面: class SwiftSingleton { class var shared: SwiftSingleton { if !Inner.instance { Inner.instance = SwiftSingleton() } return Inner.instance! } struct Inner { static var instance: SwiftSingleto

设计模式--工厂模式(创建型)

工厂模式属于创建型模式,分为三类,简单工厂模式.工厂方法模式.抽象工厂模式. 一.简单工厂模式 在工厂中做判断,根据产品类型从而创造相应的产品,当增加新产品时需要修改工厂类. 例如: enum CTYPE {COREA, COREB}; class SingleCore { public: virtual void Show() = 0; }; //单核A class SingleCoreA: public SingleCore { public: void Show() { cout<<&q

设计模式(一)工厂模式(创建型)

简单工厂模式 一个抽象产品类,可以派生出多个具体产品类: 一个具体工厂类,可以创建多个具体产品的实例. 抽象产品类定义 public abstract class Sender { void send(){ }; } 具体产品类定义 邮件产品类 public class MailSender extends Sender{ public void send(){ System.out.println("Mail Sender!"); } } 短信产品类 public class Sms

&quot;围观&quot;设计模式(29)--创建型设计模式总结(单例、工厂、原型、创建者)

设计模式源码下载地址 设计模式源码下载地址 1  单例模式 单例模式,也叫单子模式,是一种常用的软件设计模式.在应用这个模式时,单例对象的类必须保证只有一个实例存在.许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为.比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息.这种方式简化了在复杂环境下的配置管理.----维基百科(WIKIPEDIA) 个人的理解: 单例模式概

PHP设计模式之工厂/单例/注册者模式

工厂模式 简单工厂模式 [静态工厂方法模式](Static Factory Method)是类的创建模式 工厂模式的几种形态: 1.简单工厂模式(Simple Factory)又叫做 静态工厂方法模式(Static Factory Method) 2.工厂方法模式(Factory Method)又叫做 多态性工厂模式(Polymorphic Factory) 3.抽象工厂模式(Abstract Factory)又叫做 工具箱模式(ToolKit) 创建工厂类 <?phprequire_once

JavaScript 创建对象之单例、工厂、构造函数模式

01单例模式 首先看一个问题,我们要在程序中描述两个人,这两个人都有姓名和年龄,可能刚刚开始学习js的时候会写成这样: 1 var name1 = 'iceman'; 2 var age1 = 25; 3 4 var name2 = 'mengzhe'; 5 var age2 = 26; 以上的写法的确是描述两个人,每个人都有姓名和年龄,但是每个人的姓名和年龄并没有放在一起,也就是说每个人的年龄和姓名并没有对应起来.这时候我们就引出对象的概念:把描述同一个事物(同一个对象)的属性和方法放在同一个

JavaScript创建对象之单例、工厂、构造函数模式

// 单例模式 解决分组问题 让每个对象有自己的命名空间 var person1 = { name: "icss"; age: 25; }; var person2 { name: "sas"; age: 26 } // 工厂模式 实现同一事情的代码 放在一个函数中 其实就是函数的封装 体现了高内聚 低耦合 function createPerson(name, age) { var obj = {}; obj.name = name; obj.age = age;

java设计模式(1)-------单例,工厂,值对象,装饰模式

      java设计模式(1) 先简单的介绍下设计模式吧:是一种解决问题的一种行之有效的思想:用于解决特定环境下.重复出现的特定问题的解决方案. 那为什么我们需要学习设计模式呢? 1.设计模式都是一些相对优秀的解决方案,很多问题都是典型的.有代表性的问题,学习设计模式,我们就不用自己从头来解决这些问题,相当于在巨人的肩膀上,复用这些方案即可,站的高看到远,就是要站在巨人的肩膀上把他们踩下去,嘿嘿. 2.设计模式已经成为专业人士的常用词汇,不懂不利于交流,能让你变得很牛逼哦. 3.能让你设计的

003-单例OR工厂模式

单例模式:DbContextFactory.cs 1 using CZBK.ItcastOA.Model; 2 using System; 3 using System.Collections.Generic; 4 using System.Data.Entity; 5 using System.Linq; 6 using System.Runtime.Remoting.Messaging; 7 using System.Text; 8 using System.Threading.Tasks;