
设计模式
文章平均质量分 77
恋上豆沙包
这个作者很懒,什么都没留下…
展开
-
C++单例模式
饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,以后不在改变懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的。从实现方式来讲他们最大的区别就是懒汉式是延时加载,他是在需要的时候才创建对象,而饿汉式在虚拟机启动的时候就会创建,饿汉式无需关注多线程问题、写法简单明了、能用则用。但是原创 2016-11-19 15:21:37 · 268 阅读 · 0 评论 -
C++策略模式
#include #include using namespace std;//抽象类 方法:共有属性收钱class CashSuper {public: virtual double AcceptCash(double money)=0;};//方法类 1:正常收钱class CashNormal: public CashSuper{public: double A原创 2016-11-19 15:49:23 · 326 阅读 · 0 评论 -
C++工厂模式
#include #include using namespace std;class Operator{protected: int m_num1; int m_num2;public: void set1(int a) { m_num1=a; } void set2(int b) { m_num2=b; } int Get1() { return原创 2016-11-19 15:48:30 · 243 阅读 · 0 评论 -
C++-代理模式
#include #include using namespace std;class SchoolGirl{protected: string name;public: string GetName() { return name; } void SetName(string name) { this->name=name; }};class Inter原创 2016-11-19 15:47:44 · 307 阅读 · 0 评论 -
C++-装饰模式
#include #include using namespace std;class Component{public: virtual void Operation(){}};class ConCreateDecoratorA : public Component{private: Component* m_pComponent; void DASpecialDec原创 2016-11-19 15:46:41 · 268 阅读 · 0 评论 -
C++-模板模式
#include using namespace std;class TestPaper{public: void testquestion1() { cout<<"杨过得到,后来给了郭靖,连成了倚天剑、屠龙刀的玄铁可能是[] a. 球墨铸铁b.马口铁c.告诉合成刚d.碳素纤维"<<endl; cout<<"答案是"; Answer1(); } void testqu原创 2016-11-19 15:46:01 · 256 阅读 · 0 评论 -
c++-外观模式
#include #include using namespace std;class subSystemOne{public: void MethodOne() { cout<<"子系统方法1"<<endl; }};class subSystemTwo{public: void MethodTwo() { cout<<"子系统方法2"<<endl; }原创 2016-11-19 15:45:04 · 347 阅读 · 0 评论 -
c++-建造者模式
#include #include #include #include using namespace std;class product{private: vector m_product;public: void Add(string str) { m_product.push_back(str); } void Show() { vector::iter原创 2016-11-19 15:44:19 · 286 阅读 · 0 评论 -
C++设计模式——桥模式
#include #include using namespace std;class base{public: virtual void run()=0;};class dev1: public base{public: virtual void run() { cout<<"dev1"<<endl; }};class dev2: public base原创 2016-11-19 15:39:08 · 292 阅读 · 0 评论 -
C++设计模式——中介者模式
#include #include using namespace std;class Mediator;class Person{protected: Mediator* m_Mediator;public: virtual void SetMediator(Mediator* mediator)=0; virtual void SendMessage(string m原创 2016-11-19 15:38:07 · 362 阅读 · 0 评论 -
C++设计模式——享元模式
//Character.hclass Character {public: virtual ~Character(); virtual void SetSize(int, int) = 0; virtual void Display() = 0;protected: Character(); char m_chSymbol; int m_原创 2016-11-19 15:37:10 · 284 阅读 · 0 评论 -
C++设计模式——访问者模式
#include #include using namespace std;class concreteElementA; class concreteElementB; class visitor { public: visitor(){}; virtual ~visitor(){}; virtual void visitConcret原创 2016-11-19 15:36:34 · 275 阅读 · 0 评论 -
C++责任链模式
class Processor{public: virtual ~Processor(); virtual void Request(double) = 0; void SetSuccessor(Processor*);protected: Processor(); Processor* m_pProcessor;};//Processor.c原创 2016-11-19 15:25:25 · 478 阅读 · 0 评论 -
C++组合模式
#include "stdafx.h"#include#include#includeusing namespace std;class Component{public: string m_strName; Component(string strName) { this->m_strName = strName; } virtual void add(Comp原创 2016-11-19 15:22:58 · 227 阅读 · 0 评论 -
C++简单工厂
#include #include using namespace std;class BaseNum{private: int m_nNumA; int m_nNumB;public: void SetA(int Avalue) { m_nNumA=Avalue; } void SetB(int Bvale) { m_nNumB=Bvale; } int G原创 2016-11-19 15:50:15 · 337 阅读 · 0 评论