青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 183,  comments - 10,  trackbacks - 0
來自于《大話設計模式》
抽象工廠模式(Abstract Factory):提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。

UML 類圖:


代碼實現 C++:
  1 #include <iostream>
  2 #include <string>
  3 using namespace std;
  4 
  5 class IUser
  6 {
  7 public:
  8     virtual void insert(const string& s) = 0;
  9     virtual string getUser(int id) = 0;
 10 };
 11 
 12 class SqlserverUser : public IUser
 13 {
 14 public:
 15     virtual void insert(const string& s)
 16     {
 17         cout << "SqlserverUser::insert " << s << endl;
 18     }
 19     virtual string getUser(int id)
 20     {
 21         cout << "SqlserverUser::getUser " << id  << endl;
 22         return "";
 23     }
 24 };
 25 
 26 class AccessUser : public IUser
 27 {
 28 public:
 29     virtual void insert(const string& s)
 30     {
 31         cout << "AccessUser::insert " << s << endl;
 32     }
 33     virtual string getUser(int id)
 34     {
 35         cout << "AccessUser::getUser " << id << endl;
 36         return "";
 37     }
 38 };
 39 
 40 class IDepartment
 41 {
 42 public:
 43     virtual void insert(const string& s) = 0;
 44     virtual string getDepartment(int id) = 0;
 45 };
 46 
 47 class SqlserverDepartment : public IDepartment
 48 {
 49 public:
 50     virtual void insert(const string& s)
 51     {
 52         cout << "SqlserverDepartment::insert " << s << endl;
 53     }
 54     virtual string getDepartment(int id)
 55     {
 56         cout << "SqlserverDepartment::getDepartment " << id << endl;
 57         return "";
 58     }
 59 };
 60 
 61 class AccessDepartment : public IDepartment
 62 {
 63 public:
 64     virtual void insert(const string& s)
 65     {
 66         cout << "AccessDepartment::insert " << s << endl;
 67     }
 68     virtual string getDepartment(int id)
 69     {
 70         cout << "AccessDepartment::getDepartment " << id << endl;
 71         return "";
 72     }
 73 };
 74 
 75 class IFactory
 76 {
 77 public:
 78     virtual IUser * CreateUser() = 0;
 79     virtual IDepartment * CreateDepartment() = 0;
 80 };
 81 
 82 class SqlserverFactory : public IFactory
 83 {
 84 public:
 85     virtual IUser * CreateUser()
 86     {
 87         return new SqlserverUser;
 88     }
 89     virtual IDepartment* CreateDepartment()
 90     {
 91         return new SqlserverDepartment;
 92     }
 93 };
 94 
 95 class AccessFactory : public IFactory
 96 {
 97 public:
 98     virtual IUser * CreateUser()
 99     {
100         return new AccessUser;
101     }
102     virtual IDepartment * CreateDepartment()
103     {
104         return new AccessDepartment;
105     }
106 };
107 
108 int main()
109 {
110     string user = "abc";
111     string department = "xyz";
112 
113     IFactory * factory = new AccessFactory;
114     IUser * iu = factory->CreateUser();
115     iu->insert(user);
116     iu->getUser(1);
117     IDepartment * id = factory->CreateDepartment();
118     id->insert(department);
119     id->getDepartment(1);
120     delete factory;
121     delete iu;
122     delete id;
123 
124     factory = new SqlserverFactory;
125     iu = factory->CreateUser();
126     iu->insert(user);
127     iu->getUser(1);
128     id = factory->CreateDepartment();
129     id->insert(department);
130     id->getDepartment(1);
131     delete factory;
132     delete iu;
133     delete id;
134 
135     return 0;
136 }
posted on 2011-04-27 14:53 unixfy 閱讀(518) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            鲁鲁狠狠狠7777一区二区| 在线观看日韩欧美| 久久久久久亚洲精品中文字幕| 欧美日韩激情网| 欧美日韩国产欧| 欧美日韩精品系列| 国产日韩精品入口| 一区二区三区自拍| 亚洲欧洲免费视频| 亚洲伊人网站| 久久综合九色| 亚洲精品一区久久久久久| 亚洲免费在线| 欧美国产三区| 国产亚洲激情视频在线| 亚洲精品少妇30p| 久久国产日本精品| 亚洲精品在线一区二区| 久久精品视频在线观看| 欧美日韩国产一区二区三区| 国产欧美va欧美va香蕉在| 亚洲人成绝费网站色www| 欧美一区二区精美| 91久久久久久久久| 亚洲免费视频成人| 欧美大片一区| 国产在线观看91精品一区| 日韩视频精品在线| 另类av一区二区| 一区二区三区毛片| 欧美高清视频一区二区| 韩国av一区二区三区| 亚洲曰本av电影| 亚洲国产精品一区二区三区| 亚洲欧美变态国产另类| 欧美久久99| 亚洲激情影视| 看片网站欧美日韩| 亚洲欧美一区在线| 国产精品久久精品日日| 一区二区三区国产在线| 欧美高清免费| 久久性天堂网| 一区免费在线| 久久久水蜜桃| 久久成人资源| 国产主播一区二区| 久久免费少妇高潮久久精品99| 欧美一区二视频| 欧美国产日韩一区二区在线观看 | 亚洲人成网站777色婷婷| 篠田优中文在线播放第一区| 欧美午夜在线一二页| 亚洲精品黄网在线观看| 免费一级欧美在线大片| 久久不射电影网| 韩国av一区二区三区在线观看| 国内外成人在线视频| 性亚洲最疯狂xxxx高清| 亚洲五月六月| 国产午夜精品在线| 久久综合色播五月| 欧美在线观看视频一区二区| 国产精品网站在线观看| 午夜精品久久久久久久99热浪潮| 久久久www免费人成黑人精品| 久久精品道一区二区三区| 亚洲字幕一区二区| 国产一区久久久| 久久综合中文字幕| 老色鬼久久亚洲一区二区| 亚洲国产欧美国产综合一区| 亚洲第一精品电影| 欧美日韩亚洲一区三区| 亚洲欧美日韩一区二区在线 | 久久一区二区视频| 久久久精彩视频| 亚洲日本久久| 夜夜嗨av一区二区三区| 国产欧美一二三区| 久久综合给合| 欧美激情小视频| 亚洲图片欧洲图片av| 午夜精品影院| 亚洲精选91| 午夜影视日本亚洲欧洲精品| 精品99视频| 99在线视频精品| 激情成人av| 一本色道久久综合狠狠躁篇的优点| 久久久国产一区二区| 亚洲精品中文字幕女同| 亚洲一区二区在线观看视频| 伊人成人开心激情综合网| 亚洲精品乱码久久久久久按摩观| 欧美永久精品| 91久久精品国产91久久性色| 在线亚洲一区观看| 91久久综合亚洲鲁鲁五月天| 中文亚洲免费| 亚洲三级影片| 久久九九国产| 欧美一级淫片aaaaaaa视频| 美女久久一区| 久久九九全国免费精品观看| 欧美va天堂在线| 午夜精彩视频在线观看不卡 | 午夜视频在线观看一区| 亚洲国产aⅴ天堂久久| 宅男精品视频| 亚洲区一区二| 久久精品国产亚洲高清剧情介绍 | 欧美日韩国产在线| 欧美一级播放| 欧美日韩一区国产| 亚洲国产裸拍裸体视频在线观看乱了| 久久久伊人欧美| 性欧美xxxx视频在线观看| 欧美国产欧美亚州国产日韩mv天天看完整| 黄色成人精品网站| 中文在线资源观看网站视频免费不卡 | 亚洲一区二区三区精品视频 | 欧美久久久久久蜜桃| 久久精品在线视频| 国产精品你懂的在线| 亚洲国产精品专区久久| 伊人精品视频| 久久久久久久999| 久久久久久综合网天天| 国产色综合天天综合网| 亚洲欧美中文日韩v在线观看| 国产一区二区在线观看免费播放 | 亚洲品质自拍| 亚洲第一福利在线观看| 久久午夜激情| 欧美高清在线播放| 亚洲激情第一区| 欧美91视频| 亚洲人成人99网站| 亚洲图片欧洲图片av| 欧美日韩视频一区二区三区| 亚洲精品美女在线| 中文久久精品| 国产精品二区在线观看| 亚洲一区免费| 久久久久久国产精品mv| 韩日成人av| 欧美v日韩v国产v| 亚洲国产精品国自产拍av秋霞| 国产精品视频成人| 亚洲女与黑人做爰| 老司机精品导航| 亚洲精品日产精品乱码不卡| 欧美日本亚洲韩国国产| 亚洲视频你懂的| 久久午夜电影网| 亚洲国产精品久久| 欧美午夜不卡| 久久精品久久综合| 最新日韩中文字幕| 性欧美超级视频| 亚洲成色最大综合在线| 欧美另类一区二区三区| 亚洲欧美国产另类| 欧美肥婆在线| 亚洲女同精品视频| 亚洲第一天堂av| 国产精品播放| 欧美国产大片| 欧美一区二区三区四区在线观看地址 | 亚洲精品一区二区网址| 亚洲一区二区三区国产| 国产精品一区=区| 蜜桃伊人久久| 亚洲免费在线| 亚洲欧洲日产国产网站| 久久久久综合| 亚洲在线网站| 亚洲人成小说网站色在线| 国产日韩欧美三级| 欧美另类专区| 久久免费少妇高潮久久精品99| 久久精品成人欧美大片古装| 亚洲区免费影片| 一区二区三区在线免费播放| 欧美亚洲成人精品| 另类欧美日韩国产在线| 亚洲午夜精品| 亚洲精品久久7777| 牛牛影视久久网| 欧美综合国产| 这里只有精品视频| 亚洲黄色免费电影| 狠狠色综合一区二区| 国产精品嫩草久久久久| 欧美三级中文字幕在线观看| 欧美激情五月| 欧美大片在线看| 欧美**字幕| 欧美大片在线观看一区二区|