<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      說說設計模式~簡單工廠模式(Factory)

      返回目錄  

       簡單工廠模式Simple Factory根據提供給它的數據,返回一個類的實例。通常它返回的類都有一個公共的父類(或者接口對象)。

      簡單工廠的作用是實例化對象,而不需要客戶了解這個對象屬于哪個具體的子類。簡單工廠實例化的類具有相同的接口或者基類,在子類比較固定并不需要擴展時,可以使用簡單工廠。如數據庫生產工廠就是簡單工廠的一個應用。
               采用簡單工廠的優點是可以使用戶根據參數獲得對應的類實例,避免了直接實例化類,降低了耦合性;缺點是可實例化的類型在編譯期間已經被確定,如果增加新類 型,則需要修改工廠,不符合OCP(開閉原則)的原則。簡單工廠需要知道所有要生成的類型,當子類過多或者子類層次過多時不適合使用。

      下面是我實例中的類結構圖,它有一個ICreate的公共接口,有一個方法叫Create,返回值為Void

      其中公用的接口代碼如下:(最后工廠的返回值類型)

      1    /// <summary>
      2         /// 簡單工廠接口,返回值類型
      3         /// </summary>
      4         public interface ICreate
      5         {
      6             void Create();
      7         }

      而下面,分別用people和animal兩個類去實現了ICreate接口,并實現了它的Create方法。

       1      /// <summary>
       2         /// 人類實現工廠接口
       3         /// </summary>
       4         public class People : ICreate
       5         {
       6 
       7             #region ICreate 成員
       8 
       9             public void Create()
      10             {
      11                 Console.WriteLine("創建人類");
      12             }
      13 
      14             #endregion
      15         }
      16         /// <summary>
      17         /// 動物實現工廠接口
      18         /// </summary>
      19         public class Animal : ICreate
      20         {
      21 
      22             #region ICreate 成員
      23 
      24             public void Create()
      25             {
      26                 Console.WriteLine("創建動物");
      27             }
      28 
      29             #endregion
      30         }

      而對于外界來說,會有另一個類去為外界提供服務,它們可以需要建立People或者Animal類型的實現,代碼如下:

       1     public class CreateFactory
       2         {
       3             public static ICreate GeneratorCreate(string createName) { 
       4             switch (createName)
       5             {
       6                 case "People":
       7                     return new People();                   
       8                 case "Animal":
       9                     return new Animal();
      10                 default:
      11                     throw new NotImplementedException();                   
      12             }
      13         }

      最后,在使用它時,直接使用CreateFactory.GeneratorCreate("類型條件名")即可生成你的類對象了。

       

       返回目錄

      posted @ 2012-06-24 14:38  張占嶺  閱讀(7570)  評論(7)    收藏  舉報
      主站蜘蛛池模板: 亚洲av成人三区国产精品| 国产69精品久久久久99尤物| 久久88香港三级台湾三级播放| 一本一本久久a久久精品综合| 国产一区在线观看不卡| 亚欧洲乱码视频在线专区| 婷婷开心色四房播播| 开心色怡人综合网站| 亚成区成线在人线免费99| 97精品人妻系列无码人妻| 熟女女同亚洲女同中文字幕| 岛国岛国免费v片在线观看| 国产乱人偷精品人妻a片| 99在线精品视频观看免费| 国产在线98福利播放视频| 老色99久久九九爱精品| 日本一区二区三区在线看| 中文字幕日韩有码av| 久久男人av资源站| 北岛玲中文字幕人妻系列| 亚洲 中文 欧美 日韩 在线| 国产一区二区三区日韩精品| 成人亚洲综合av天堂| 亚洲精品专区在线观看| 亚洲香蕉网久久综合影视| 精品成在人线av无码免费看| 欧美人禽zozo动人物杂交| 亚洲精品在线视频自拍| 国产高清不卡视频| 日本欧美一区二区三区在线播放| 亚洲综合色一区二区三区| 欧美激情一区二区三区成人 | 国产精品久久久久aaaa| 国产高清在线男人的天堂| 久久a级片| 欧美颜射内射中出口爆在线 | 色偷偷av一区二区三区| 久章草在线毛片视频播放| 久久精品麻豆日日躁夜夜躁| 亚洲欧洲精品一区二区| 少妇人妻综合久久中文字幕|