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

          參與者

          Strategy
          •  -- 定義所有支持的算法的公共接口。Context使用這個(gè)接口來(lái)調(diào)用某ConcreteStrategy定義的算法。
          ConcreteStrategy(具體策略)
          •  -- 以Strategy接口實(shí)現(xiàn)英雄模范具體算法。
          Context(上下文)
          • --用一個(gè)ConcreteStrategy對(duì)象來(lái)配置。
          • --維護(hù)一個(gè)對(duì)Strategy對(duì)象的引用。
          • --可定義一個(gè)接口來(lái)讓Strategy訪問(wèn)它的數(shù)據(jù)。

          適用性
          1. 當(dāng)存在以下情況時(shí)使用Strategy模式
          2. 許多相關(guān)的類僅僅是行為有異。“策略”提供了一種用多個(gè)行為中的一個(gè)行為來(lái)配置一個(gè)類的方法。
          3. 需要使用一個(gè)算法的不同變體。
          4. 算法使用了客戶不應(yīng)該知道的數(shù)據(jù)。可使用策略模式以避免暴露復(fù)雜的、與算法相關(guān)的數(shù)據(jù)結(jié)構(gòu)。



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

          評(píng)論:
          # re: Strategy(策略)模式 2008-03-12 10:43 | gembin
          請(qǐng)問(wèn)這個(gè)UML圖用什么畫的  回復(fù)  更多評(píng)論
            
          # re: Strategy(策略)模式 2008-03-13 09:39 | Sam Wang
          這是NetBeans自帶的UML模塊做的。
          您可以在這里免費(fèi)下載:http://download.netbeans.org/netbeans/6.0/final/
          創(chuàng)建一個(gè)類圖后,點(diǎn)擊鼠標(biāo)右健,選擇“應(yīng)用設(shè)計(jì)模式”,在項(xiàng)目中選擇“Gof Design Patterns”,就可以在設(shè)計(jì)模式中選擇您想要的模式了。  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 定州市| 望谟县| 英超| 漳浦县| 杭州市| 饶阳县| 开平市| 垣曲县| 新丰县| 沛县| 兰西县| 景宁| 揭阳市| 高州市| 甘德县| 金昌市| 宁强县| 隆昌县| 舞钢市| 永州市| 龙南县| 闻喜县| 宕昌县| 温泉县| 临澧县| 武陟县| 康乐县| 遂溪县| 古交市| 崇左市| 天柱县| 吉林省| 南充市| 新营市| 巫山县| 谢通门县| 喀喇沁旗| 井冈山市| 蓬溪县| 玉溪市| 定边县|