城市獵人

          在一網情深的日子里,誰能說得清是苦是甜,只知道確定了就義無反顧
          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
          主站蜘蛛池模板: 普格县| 阿拉善左旗| 崇州市| 泸州市| 开化县| 宾川县| 新郑市| 台东县| 淳化县| 封开县| 师宗县| 宣武区| 左云县| 兴和县| 桃江县| 班戈县| 台南县| 祥云县| 重庆市| 平武县| 城口县| 新安县| 桑植县| 龙井市| 伊春市| 柳林县| 青海省| 东兰县| 焦作市| 马龙县| 佳木斯市| 行唐县| 祁阳县| 陵川县| 南安市| 图木舒克市| 无棣县| 道孚县| 合作市| 读书| 偏关县|