隨筆-1  評論-2  文章-6  trackbacks-0
          Strategy--定義一系列的算法,把它們一個個封裝起來,并且使它們可相互替換。本模式使得算法可獨立于使用它的客戶而變化。

          參與者

          Strategy
          •  -- 定義所有支持的算法的公共接口。Context使用這個接口來調用某ConcreteStrategy定義的算法。
          ConcreteStrategy(具體策略)
          •  -- 以Strategy接口實現英雄模范具體算法。
          Context(上下文)
          • --用一個ConcreteStrategy對象來配置。
          • --維護一個對Strategy對象的引用。
          • --可定義一個接口來讓Strategy訪問它的數據。

          適用性
          1. 當存在以下情況時使用Strategy模式
          2. 許多相關的類僅僅是行為有異。“策略”提供了一種用多個行為中的一個行為來配置一個類的方法。
          3. 需要使用一個算法的不同變體。
          4. 算法使用了客戶不應該知道的數據??墒褂貌呗阅J揭员苊獗┞稄碗s的、與算法相關的數據結構。



          posted on 2008-01-23 10:52 Sam Wang 閱讀(304) 評論(2)  編輯  收藏 所屬分類: UML

          評論:
          # re: Strategy(策略)模式 2008-03-12 10:43 | gembin
          請問這個UML圖用什么畫的  回復  更多評論
            
          # re: Strategy(策略)模式 2008-03-13 09:39 | Sam Wang
          這是NetBeans自帶的UML模塊做的。
          您可以在這里免費下載:http://download.netbeans.org/netbeans/6.0/final/
          創建一個類圖后,點擊鼠標右健,選擇“應用設計模式”,在項目中選擇“Gof Design Patterns”,就可以在設計模式中選擇您想要的模式了。  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 雷山县| 红桥区| 得荣县| 公主岭市| 武邑县| 雅安市| 甘南县| 张家港市| 宿州市| 宁波市| 武宁县| 明水县| 三门县| 涡阳县| 湖口县| 北票市| 鄯善县| 玛沁县| 汝阳县| 宁海县| 区。| 太和县| 嘉义市| 福鼎市| 秦安县| 双流县| 乌拉特前旗| 奇台县| 青岛市| 育儿| 新野县| 晴隆县| 行唐县| 鱼台县| 石家庄市| 桐庐县| 青冈县| 无为县| 海宁市| 朔州市| 连江县|