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

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

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

      【Java】23種設計模式——13.策略模式

      定義

      策略模式(Strategy Pattern)是一種行為型設計模式,它定義了一系列算法,并將每個算法封裝起來,使它們可以相互替換,且算法的變化不會影響使用算法的客戶端。

      角色

      1. 環境(Context):持有一個策略類的引用,提供給客戶端調用
      2. 抽象策略(Strategy):定義所有支持的算法的公共接口
      3. 具體策略(ConcreteStrategy):實現抽象策略定義的接口,提供具體算法

      應用場景

      • 需要動態的在幾種算法中選擇一種的時候
      • 一個類定義了多種行為,且這些行為以多條件語句形式出現
      • 系統需要安全地封裝不同類型的算法
      • 當算法需要自由切換時

      使用

      支付方法自由切換(信用卡支付和支付寶支付)

      • 抽象策略 (支付方式)

        /**
         * 抽象策略 : 支付策略
         * @Author:lyj
         * @Date:2025/5/19 17:24
         */
        public interface PaymentStrategy {
            /**
             * 支付
             * @param amount 金額
             */
            public void pay(int amount);
        }
        
      • 具體策略 (信用卡支付、支付寶支付)

        /**
         * 具體策略 : 信用卡支付
         * @Author:lyj
         * @Date:2025/5/19 17:27
         */
        public class CredCardStrategy implements PaymentStrategy {
            private  String cardNumber;     // 卡號
            public CredCardStrategy(String cardNumber) {
                this.cardNumber = cardNumber;
            }
            /**
             * 支付
             * @param amount 金額
             */
            @Override
            public void pay(int amount) {
                System.out.println("信用卡支付" + amount + "元,卡號:" + cardNumber);
            }
        }
        
        /**
         * 具體策略 : 支付寶支付
         * @Date:2025/5/19 17:28
         */
        public class AlipayStrategy implements  PaymentStrategy{
            private String account;     // 賬號
            public AlipayStrategy(String account)
            {
                this.account = account;
            }
            @Override
            public void pay(int amount) {
                System.out.println("支付寶支付了" + amount + "元,賬號為:" + account);
            }
        }
        
      • **環境 ** (支付選擇)

        /**
         * 環境類 :·支付選擇
         * @Author:lyj
         * @Date:2025/5/19 17:30
         */
        public class ShoppingCart
        {
            private PaymentStrategy paymentStrategy;        // 支付策略
        
            /**
             * 設置支付策略
             * @param paymentStrategy 支付策略
             */
            public void setPaymentStrategy(PaymentStrategy paymentStrategy)
            {
                this.paymentStrategy = paymentStrategy;
            }
        
            /**
             * 運行支付
             * @param amount 金額
             */
            public void checkOut(int amount)
            {
                paymentStrategy.pay(amount);
            }
        }
        

      客戶端: 運行支付測試

      ShoppingCart cart = new ShoppingCart();
      // 支付寶支付
      cart.setPaymentStrategy(new AlipayStrategy("1234-5678-9012-2456"));
      cart.checkOut(100); // 支付寶支付了100元,賬號為:1234-5678-9012-2456
      // 信用卡支付
      cart.setPaymentStrategy(new CredCardStrategy("1234-5678-9012-3456"));
      cart.checkOut(200); //信用卡支付200元,卡號:1234-5678-9012-3456
      
      posted @ 2025-06-20 16:35  陸陸無為而治者  閱讀(17)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 中文有无人妻vs无码人妻激烈| 日本熟妇人妻xxxxx人hd| 亚洲精品动漫免费二区| 免费观看的av在线播放| 亚洲av高清一区二区| 最近免费中文字幕mv在线视频3| 99国精品午夜福利视频不卡99 | 亚洲不卡av不卡一区二区| 国产欧美日韩亚洲一区二区三区| 国产黄色带三级在线观看| 性欧美暴力猛交69hd| 国内精品久久人妻无码妲| 欧美丰满熟妇性xxxx| 国产午夜亚洲精品久久| 这里只有精品免费视频| 天天躁日日躁狠狠躁2018| 大陆熟妇丰满多毛xxxⅹ | 人人妻人人狠人人爽天天综合网| 樱桃视频影院在线播放| 国产又黄又湿又刺激网站| 疯狂做受xxxx高潮欧美日本| 你懂的在线视频一区二区| 亚洲人成网站77777在线观看| 日韩av影院在线观看| 国产精品偷乱一区二区三区| 亚洲 制服 丝袜 无码| 奉节县| 国产高清视频一区二区三区 | 精品久久久中文字幕人妻| 亚洲色欲在线播放一区| 亚洲激情一区二区三区视频| 忘忧草社区在线www| 精品一卡2卡三卡4卡乱码精品视频 | 欧美日韩中文国产一区| 亲子乱aⅴ一区二区三区| 国产午夜A理论毛片| 沙湾县| 一本久久a久久精品综合| 国内精品久久久久影院不卡| 色99久久久久高潮综合影院| 极品尤物被啪到呻吟喷水|