城市獵人

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

          模式(一):策略(Strategy)模式

          Posted on 2008-07-19 14:53 sailor 閱讀(138) 評論(0)  編輯  收藏 所屬分類: 模式
              定義:定義了算法族,分別封裝起來,讓他們之間可以相互交換,此模擬算法的變化獨立于使用算法的客戶。
              
              設計原則:
                  1、多用組合,少用繼承;
                  2、針對接口編程,而不是針對實現編程;

               實現:


                  Context(應用場景):

          l         需要使用ConcreteStrategy提供的算法。

          l         內部維護一個Strategy的實例。

          l         負責動態設置運行時Strategy具體的實現算法。

          l         負責跟Strategy之間的交互和數據傳遞。


                  Strategy(抽象策略類):

          l         定義了一個公共接口,各種不同的算法以不同的方式實現這個接口,Context使用這個接口調用不同的算法,一般使用接口或抽象類實現。

                  
                  ConcreteStrategy(具體策略類):

          l         實現了Strategy定義的接口,提供具體的算法實現。




              參考資料:《Head First設計模式》
                                  鴨子-策略模式(Strategy
          主站蜘蛛池模板: 陵川县| 阳山县| 贡嘎县| 承德县| 峨眉山市| 平定县| 祥云县| 株洲县| 额敏县| 波密县| 通山县| 富民县| 阿拉善左旗| 嘉义县| 芮城县| 兴义市| 新兴县| 定边县| 崇左市| 美姑县| 湖北省| 常德市| 仪征市| 当阳市| 德昌县| 巩义市| 常熟市| 民乐县| 宜丰县| 麦盖提县| 安国市| 蒲城县| 金乡县| 浮山县| 许昌县| 沾益县| 斗六市| 石楼县| 濮阳县| 合山市| 延安市|