<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      策略模式(Strategy Pattern)

        指對象有某個行為,但是在不同的場景中,該行為有不同的實現算法。將每個算法封裝在獨立的類中,使得它們可以互相替換。可以在運行時根據需要選擇不同的算法,而不需要修改客戶端代碼。

        主要解決:在有多種算法相似的情況下,使用 if...else 所帶來的復雜和難以維護。

        關鍵代碼:實現同一個接口。

        優點: 1、算法可以自由切換。 2、避免使用多重條件判斷。 3、擴展性良好。

        缺點: 1、策略類會增多。 2、所有策略類都需要對外暴露。 3、客戶端知道所有的算法或行為的情況。

        注意事項:如果一個系統的策略多于四個,就需要考慮使用混合模式,解決策略類膨脹的問題。

        組成:

          1.抽象策略角色: 策略類,通常由一個接口或者抽象類實現。
          2.具體策略角色:包裝了相關的算法和行為。
          3.環境角色:持有一個策略類的引用,最終給客戶端調用。環境類可以通過依賴注入、簡單工廠等方式來獲取具體策略對象。
      ======================================================== 以上八股文 來源  網絡拼湊 ======================================================================
      注 :  上述所謂的 算法  不僅僅代表 冒泡排序,歸并排序,二分查找  等這種具體的算法,  也代表 某些 業務邏輯,方法運行策略等(不要狹義的看問題)
        舉個簡單小栗子:
          當操作數據庫時(抽象策略角色), 用到了 增刪改查  (具體策略角色)四種 方式, 通過id 查詢 , 通過id 修改, 通過 id 刪除, 增加一個 id  數據 (維護當前使用 策略的對象【環境角色】)。
      /**
       * 操作數據庫時(抽象策略角色)
       */
      public interface OperateStrategy {
          String operation(String id);
      }
      
      
      /**
       * insert操作 (具體策略角色)
       */
      public class OperateInsert implements OperateStrategy{
          @Override
          public String operation(String id) {
      
              return "insert into  success !!  id ==" + id ;
          }
      }
      
      /**
       * Select操作
       */
      public class OperateSelect implements OperateStrategy{
          @Override
          public String operation(String id) {
              return "select success !!  id ==" + id ;
          }
      }
      
      /**
       * Delete操作
       */
      public class OperateDelete implements OperateStrategy{
          @Override
          public String operation(String id) {
              return "delete success !!  id ==" + id ;
          }
      }
      
      /**
       * Update操作
       */
      public class OperateUpdate implements OperateStrategy{
          @Override
          public String operation(String id) {
              return "update success !!  id ==" + id  ;
          }
      }
      
      /**
       * Context 執行上下文(環境角色)
       */
      public class OperateContext {
      
          private OperateStrategy operateStrategy;
      
          public OperateContext(OperateStrategy operateStrategy){
              this.operateStrategy = operateStrategy;
          }
      
          public String execute(String id){
              return operateStrategy.operation(id);
          }
      
      }
      
          //執行
          public static void main(String[] args) {
              OperateContext context = new OperateContext(new OperateSelect());
              System.out.println(context.execute("select01"));
      
              context = new OperateContext(new OperateDelete());
              System.out.println(context.execute("delete01"));
      
              context = new OperateContext(new OperateUpdate());
              System.out.println(context.execute("update01"));
      
              context = new OperateContext(new OperateInsert());
              System.out.println(context.execute("Insert01"));
      
          }

      結果:

       

      ==========================================收工=================================================================================

       

       

       
       
       
          
        
      posted on 2024-04-14 23:26  zy平平仄仄  閱讀(117)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 狠狠躁夜夜躁无码中文字幕| 熟女人妻aⅴ一区二区三区电影| 亚洲综合色成在线播放| 亚洲AV无码秘?蜜桃蘑菇| 最新亚洲人成网站在线观看| 久久亚洲精品成人av无| 91福利一区福利二区| 亚洲欧美牲交| 成人国产精品中文字幕| 欧美亚洲高清日韩成人| 国产成人av三级在线观看| 国产极品粉嫩学生一线天| 久久国产自拍一区二区三区| 午夜免费福利小电影| 永久免费无码网站在线观看| 色爱区综合激情五月激情| 色天天天综合网色天天| 精品少妇av蜜臀av| 国产熟睡乱子伦视频在线播放| 国产精品最新免费视频| 精品伊人久久久香线蕉| 亚洲美女被黑人巨大在线播放| 无码尹人久久相蕉无码 | 《特殊的精油按摩》3| 国产成人亚洲综合91精品| 国产女人和拘做受视频免费| 激情啪啪啪一区二区三区| 99福利一区二区视频| 日本区二区三区不卡视频| 国产成人亚洲欧美二区综合| 欧美人与动欧交视频| 精品人妻中文字幕av| 日韩一区二区三区日韩精品| 好男人日本社区www| 延寿县| h无码精品3d动漫在线观看| av无码精品一区二区乱子| 无码伊人久久大杳蕉中文无码| 少妇裸交aa大片| 国产成人无码www免费视频播放| 国产精品一区二区麻豆蜜桃|