少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
          工廠方法模式:
          一個抽象產品類,可以派生出多個具體產品類。
          一個抽象工廠類,可以派生出多個具體工廠類。
          每個具體工廠類只能創建一個具體產品類的實例。

          抽象工廠模式:
          多個抽象產品類,每個抽象產品類可以派生出多個具體產品類。
          一個抽象工廠類,可以派生出多個具體工廠類。
          每個具體工廠類可以創建多個具體產品類的實例。

          區別:
          工廠方法模式只有一個抽象產品類,而抽象工廠模式有多個。
          工廠方法模式的具體工廠類只能創建一個具體產品類的實例,而抽象工廠模式可以創建多個。



          工廠方法模式: 一個抽象產品類,可以派生出多個具體產品類。 一個抽象工廠類,可以派生出多個具體工廠類。 每個具體工廠類只能創建一個具體產品類的實例。 抽象工廠模式: 多個抽象產品類,每個抽象產品類可以派生出多個具體產品類。 一個抽象工廠類,可以派生出多個具體工廠類。 每個具體工廠類可以創建多個具體產品類的實例。 區別: 工廠方法模式只有一個抽象產品類,而抽象工廠模式有多個。 工廠方法模式的具體工廠類只能創建一個具體產品類的實例,而抽象工廠模式可以創建多個。


          GOF《設計模式》寫的很清楚,工廠方法是由子類自行決定實例化那個類,而抽象工廠是自己決定實例化哪個類。至于是組合還是繼承還是實現接口都無所謂。根本區別在于是自己實例化還是子類實例化。
          posted on 2014-12-28 22:06 abin 閱讀(1808) 評論(0)  編輯  收藏 所屬分類: PatternDesigns
          主站蜘蛛池模板: 西乡县| 莒南县| 阿克| 弋阳县| 青冈县| 汉沽区| 宣汉县| 通榆县| 常德市| 定西市| 阿鲁科尔沁旗| 铜山县| 衢州市| 普兰县| 日喀则市| 阿荣旗| 石景山区| 金阳县| 连州市| 蓬安县| 防城港市| 乃东县| 临朐县| 肥东县| 红桥区| 渝北区| 蚌埠市| 大城县| 东源县| 浦东新区| 莫力| 德阳市| 富锦市| 武功县| 湖州市| 慈利县| 绿春县| 乌兰浩特市| 蓬安县| 泸定县| 乃东县|