简单工厂模式 与 抽象工厂模式
2010-05-17 14:51
423 查看
//////////////////////////////////////////////////////////////////////////简单工厂模式 class CDisplayer { public: virtual void Play() = 0; }; class CVCDDisplayer : public CDisplayer { public: void Play(){ cout<<"vcd displayer"<<endl; } }; class CDVDDisplayer : public CDisplayer { public: void Play(){ cout<<"dvd displayer"<<endl; } }; class IFactory { public: static CDisplayer* CreateDisplayer(char szName) { switch ( szName ) { case 'v': { return new CVCDDisplayer(); } break; case 'd': { return new CDVDDisplayer(); } break; default:break; } return NULL; } }; int _tmain(int argc, _TCHAR* argv[]) { CDisplayer* pDisplayer = IFactory::CreateDisplayer('v'); pDisplayer->Play(); delete pDisplayer; }
//////////////////////////////////////////////////////////////////////////抽象工厂模式 class IUser { public: virtual void fun() = 0; }; class SqlUser : public IUser { public: void fun(){cout<<"Sql USER"<<endl;} }; class AcessUser : public IUser { public: void fun(){cout<<"access USER"<<endl;} }; class IFactroy2 { public: virtual IUser* createUser() = 0; }; class SQLFactroy : public IFactroy2 { public: IUser* createUser() { return new SqlUser; } }; class AcessFactroy : public IFactroy2 { public: IUser* createUser(){return new AcessUser;} }; int _tmain(int argc, _TCHAR* argv[]) { IFactroy2* pFactory = new SQLFactroy(); IUser* pUser = pFactory->createUser(); pUser->fun(); delete pUser; delete pFactory; }
转自:http://edu.codepub.com/2009/0917/15496.php
http://hi.baidu.com/datapan/blog/item/1805a30f9f50c9206059f399.html
相关文章推荐
- 简单工厂模式和抽象工厂模式的区别:面向接口编程
- 简单工厂模式和抽象工厂模式
- 设计模式- 简单工厂模式---->工厂方法模式---->抽象工厂模式
- 设计模式之工厂模式系列(简单工厂,工厂模式,抽象工厂模式)
- 简单工厂模式和抽象工厂模式的通俗理解
- 工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式
- 简单工厂模式、工厂方法模式和抽象工厂模式-设计模式学习
- 创建型模式01:简单工厂模式、工厂方法模式、抽象工厂模式
- 抽象工厂模式:简单工厂模式、工厂方法模式对比;在工厂方法模式中使用反射创建对象实例
- Java设计模式--简单工厂、工厂、抽象工厂模式
- 简单工厂模式,工厂模式,抽象工厂模式
- 设计模式(2)-创建型-简单工厂,工厂,抽象工厂模式(Factory)
- 简单工厂模式,工厂方法模式和抽象工厂模式的异同
- 简单工厂模式,工厂方法模式,抽象工厂模式 比较
- 我眼中的简单工厂模式,工厂模式以及抽象工厂模式
- 简单工厂模式,工厂方法模式及抽象工厂模式比较
- 简单工厂,工厂模式和抽象工厂模式
- 3种工厂模式:简单工厂,工厂方法和抽象工厂模式
- 抽象工厂模式第二步-使用简单工厂模式
- 工厂方法模式--简单工厂模式--抽象工厂模式