设计模式
river472242652
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式--1--原则
设计模式7原则 package cn.riversky; /** * * 面向对象设计原则 * 1单一职责原则:一个类只负责一个功能领域中的相应职责 * 2开闭原则:软件实体应对扩展开放,而对修改关闭 * 3 里氏替换原则:所有引用基类对应的地方能够透明地使用其子类的对象。 * 4 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象 * 5 接口隔离:使用多个专门的接口,而...原创 2018-03-09 10:47:13 · 150 阅读 · 0 评论 -
c++饿汉式模板单例[4]
模板类 #pragma once template<typename T> class EargerSingleton { public: static T& getInstance() { return instance; } protected: EargerSingleton() = default; ~EargerSingleton() = default;...原创 2018-10-09 11:05:41 · 500 阅读 · 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 · 421 阅读 · 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 · 435 阅读 · 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 · 182 阅读 · 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 · 436 阅读 · 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 · 190 阅读 · 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 · 374 阅读 · 0 评论 -
设计模式--2创建型设计模式--单例模式
单例模式原创 2018-03-11 21:27:30 · 391 阅读 · 0 评论 -
设计模式--2创建型设计模式--简单工厂
package cn.riversky.create.simplefactory; /** * 简单工厂模式:定义一个工厂类,根据传入的参数构造生成不同的实例。一般通过静态方法的方式进行构建。 * 因此也称为静态工厂方法模式 * 这里设计学生抽象类,和两个实现类(班长类,助教类),和工厂类(简单工厂) * @author riversky E-mail:riversky@126.com ...原创 2018-03-09 11:11:16 · 200 阅读 · 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 · 1235 阅读 · 0 评论
分享