城市獵人

          在一網(wǎng)情深的日子里,誰能說得清是苦是甜,只知道確定了就義無反顧
          posts - 1, comments - 7, trackbacks - 0, articles - 89

          模式(四-3):抽象工廠(Abstract Factory)模式

          Posted on 2008-07-22 17:22 sailor 閱讀(148) 評論(0)  編輯  收藏 所屬分類: 模式
          定義
              提供一個接口,用于創(chuàng)建相關(guān)或相依賴對象的家族,而不需要明確指定具體類。

          原則
              依賴抽象,而不要依賴具體類
              

          實用性

            1,一個系統(tǒng)應(yīng)當(dāng)不依賴于產(chǎn)品類實例被創(chuàng)立,組成,和表示的細節(jié)。這對于所有形態(tài)的工廠模式都是重要的。

            2,這個系統(tǒng)的產(chǎn)品有多于一個的產(chǎn)品族

            3,同屬于同一個產(chǎn)品族的產(chǎn)品是設(shè)計成在一起使用的。這一約束必須得在系統(tǒng)的設(shè)計中體現(xiàn)出來。

          角色

                 圖1. 抽象工廠模式的類圖定義


            從上圖可以看出,簡單工廠模式涉及到以下的角色

             抽象工廠(AbstractFactory)類或接口

             擔(dān)任這個角色的是工廠方法模式的核心,它是與應(yīng)用程序無關(guān)的。任何在模式中創(chuàng)立對象的工廠類必須實現(xiàn)這個接口,或繼承這個類。

             實工廠類 (Conrete Factory)

             擔(dān)任這個角色的是與應(yīng)用程序緊密相關(guān)的,直接在應(yīng)用程序調(diào)用下,創(chuàng)立產(chǎn)品實例的那樣一些類。

             抽象產(chǎn)品 (Abstract Product)

             擔(dān)任這個角色的類是工廠方法模式所創(chuàng)立的對象的父類,或它們共同擁有的接口。

             實產(chǎn)品 (Concrete Product)

             擔(dān)任這個角色的類是工廠方法模式所創(chuàng)立的任何對象所屬的類。


          實例

           抽象工廠模式應(yīng)用于小花果園系統(tǒng)中。三種不同的背景顏色可以區(qū)分工廠類,蔬菜類(第一產(chǎn)品族),和水果類的類圖(第二產(chǎn)品族)
          主站蜘蛛池模板: 略阳县| 平谷区| 方山县| 汕尾市| 石棉县| 化德县| 鞍山市| 柳林县| 景泰县| 湘潭县| 吉木萨尔县| 阳山县| 灵武市| 普兰县| 徐水县| 长兴县| 栖霞市| 章丘市| 台北市| 金堂县| 尉氏县| 确山县| 芜湖市| 外汇| 麻栗坡县| 醴陵市| 连江县| 酒泉市| 简阳市| 多伦县| 宾阳县| 上栗县| 叙永县| 甘孜| 彰武县| 当阳市| 开阳县| 伊金霍洛旗| 普兰县| 奇台县| 邯郸市|