城市獵人

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

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

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

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

          實用性

            1,一個系統應當不依賴于產品類實例被創立,組成,和表示的細節。這對于所有形態的工廠模式都是重要的。

            2,這個系統的產品有多于一個的產品族

            3,同屬于同一個產品族的產品是設計成在一起使用的。這一約束必須得在系統的設計中體現出來。

          角色

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


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

             抽象工廠(AbstractFactory)類或接口

             擔任這個角色的是工廠方法模式的核心,它是與應用程序無關的。任何在模式中創立對象的工廠類必須實現這個接口,或繼承這個類。

             實工廠類 (Conrete Factory)

             擔任這個角色的是與應用程序緊密相關的,直接在應用程序調用下,創立產品實例的那樣一些類。

             抽象產品 (Abstract Product)

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

             實產品 (Concrete Product)

             擔任這個角色的類是工廠方法模式所創立的任何對象所屬的類。


          實例

           抽象工廠模式應用于小花果園系統中。三種不同的背景顏色可以區分工廠類,蔬菜類(第一產品族),和水果類的類圖(第二產品族)
          主站蜘蛛池模板: 罗定市| 蕲春县| 沙洋县| 名山县| 荃湾区| 石柱| 琼海市| 浠水县| 北海市| 二连浩特市| 金平| 东辽县| 夏邑县| 博白县| 红安县| 缙云县| 丰顺县| 宜昌市| 巴中市| 平乐县| 呼玛县| 镶黄旗| 苗栗县| 岳普湖县| 玉田县| 柯坪县| 陆川县| 蛟河市| 金昌市| 大姚县| 象山县| 贵定县| 朝阳县| 清涧县| 通道| 洪洞县| 平和县| 福贡县| 扶风县| 德令哈市| 石河子市|