设计模式
river472242652
这个作者很懒,什么都没留下…
展开
-
设计模式--1--原则
设计模式7原则package cn.riversky;/** * * 面向对象设计原则 * 1单一职责原则:一个类只负责一个功能领域中的相应职责 * 2开闭原则:软件实体应对扩展开放,而对修改关闭 * 3 里氏替换原则:所有引用基类对应的地方能够透明地使用其子类的对象。 * 4 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象 * 5 接口隔离:使用多个专门的接口,而...原创 2018-03-09 10:47:13 · 111 阅读 · 0 评论 -
c++饿汉式模板单例[4]
模板类#pragma oncetemplate<typename T>class EargerSingleton {public: static T& getInstance() { return instance; }protected: EargerSingleton() = default; ~EargerSingleton() = default;...原创 2018-10-09 11:05:41 · 435 阅读 · 0 评论 -
c++单例模式[3]--模板设计和使用(饿汉式不推荐,因此使用懒汉式做模板)
##基本模板类#pragma once#include &lt;iostream&gt;#include &lt;thread&gt;using namespace std;/***Meyers 方案(利用语言级别的静态成员属性来实现)* 1优化了 判断消耗,* 2优化了释放实例,不会导致内存泄露* 3多线程下保证一个实例(但是并不是真正意义的线程安全实现--vs2010以上可以...原创 2018-10-09 10:51:13 · 368 阅读 · 0 评论 -
c++单例模式[2]--Meyers方式--多线程单例--vs2010以上推荐(可以保证类成员属性的初始化完成)
[1]单例模式中最大的缺陷就是线程安全与判断的开销#pragma once#include &lt;iostream&gt;#include &lt;thread&gt;using namespace std;/** *Meyers 方案(利用语言级别的静态成员属性来实现) * 1优化了 判断消耗, * 2优化了释放实例,不会导致内存泄露 * 3多线程下保证一个实例(但是并不是...原创 2018-10-09 09:28:29 · 359 阅读 · 0 评论 -
c++单例模式[1]--懒汉式基础版
单例模式基本版–单线程#pragma once#include <iostream>#include <thread>/** *单例模式标准实现 5步走(懒汉式) 1静态私有实例指针 2拷贝赋值私有化 3构造析构私有化 4全局访问与释放 5静态内部实例指针全局实例 *Date :[10/9/2018 ] *Author :[RS] */usin...原创 2018-10-09 08:58:56 · 127 阅读 · 0 评论 -
c++创建型设计模式--工厂模式--抽象工厂(多个产品的构建--系列)
在基类CarBase基础上进行构建基类#pragma once#include <iostream>/** * 基类指针 *Date :[10/12/2018 ] *Author :[RS] */ class CarBase {public: virtual ~CarBase() { std::cout << "析构 carBase" <&...原创 2018-10-12 10:49:58 · 372 阅读 · 0 评论 -
c++创建型设计模式--工厂模式--工厂方法(单个产品的构建--对简单工厂的改善)
主要是修改了简单工厂不符合开闭原则的限制基类和子类与简单工厂一致工厂方法类#pragma once#include "CarBaseExtens.hpp"#include <memory>class CarFacotryMethod {public: template<class T> static std::shared_ptr<CarBase&g...原创 2018-10-12 09:37:30 · 138 阅读 · 0 评论 -
c++创建型设计模式--工厂模式--简单工厂(单个产品的构建)
思想主要是对于单个简单的产品进行构建基类#pragma once#include &lt;iostream&gt;/** * 基类指针 *Date :[10/12/2018 ] *Author :[RS] */ class CarBase {public: virtual ~CarBase() { std::cout &lt;&lt; "析构 carBase" &原创 2018-10-12 09:24:00 · 304 阅读 · 0 评论 -
设计模式--2创建型设计模式--单例模式
单例模式原创 2018-03-11 21:27:30 · 345 阅读 · 0 评论 -
设计模式--2创建型设计模式--简单工厂
package cn.riversky.create.simplefactory;/** * 简单工厂模式:定义一个工厂类,根据传入的参数构造生成不同的实例。一般通过静态方法的方式进行构建。 * 因此也称为静态工厂方法模式 * 这里设计学生抽象类,和两个实现类(班长类,助教类),和工厂类(简单工厂) * @author riversky E-mail:riversky@126.com...原创 2018-03-09 11:11:16 · 157 阅读 · 0 评论 -
c++ 单例模式--双重校验+锁--懒汉式[4]**推荐
基本类#include <memory>#include <mutex>using namespace std;template<typename T>class SingletonPtr {private: class Delete { public: void operator()(T *p) { delete p; } };...原创 2018-10-09 13:12:08 · 1180 阅读 · 0 评论