二維碼
        企資網

        掃一掃關注

        當前位置: 首頁 » 企資快報 » 產品 » 正文

        C也設計模式-策略模式(Strategy)

        放大字體  縮小字體 發布日期:2022-12-19 03:25:55    作者:百里海蕓    瀏覽次數:77
        導讀

        定義Strategy設計模式定義了一系列算法,分別封裝起來,并使它們之間可以互相替換。此模式允許讓算法得變化獨立于使用它得客戶。OO設計原則封裝變化多用組合,少用繼承針對接口編程,不針對實現編程類圖策略模型類圖

        定義

        Strategy設計模式定義了一系列算法,分別封裝起來,并使它們之間可以互相替換。此模式允許讓算法得變化獨立于使用它得客戶。

        OO設計原則
      1. 封裝變化
      2. 多用組合,少用繼承
      3. 針對接口編程,不針對實現編程類圖

        策略模型類圖

        代碼

        namespace DesignPattern.Strategy.Structural{ /// <summary> /// The 'Context' class /// </summary> public class Context { Strategy strategy; public Context(Strategy strategy) { this.strategy = strategy; } public void ContextInterface() { strategy.AlgorithmInterface(); } } /// <summary> /// The 'Strategy' class /// </summary> public abstract class Strategy { public abstract void AlgorithmInterface(); } /// <summary> /// The 'StrategyA' class /// </summary> public class StrategyA: Strategy { public override void AlgorithmInterface() { Console.WriteLine("ConcreteStrategyA AlgorithmInterface."); } } /// <summary> /// The 'StrategyB' class /// </summary> public class StrategyB : Strategy { public override void AlgorithmInterface() { Console.WriteLine("ConcreteStrategyB.AlgorithmInterface."); } } /// <summary> /// The 'StrategyC' class /// </summary> public class StrategyC : Strategy { public override void AlgorithmInterface() { Console.WriteLine("ConcreteStrategyC.AlgorithmInterface."); } } /// <summary> /// MainApp startup class for Structural /// </summary> public class Program { private static void Main(string[] args) { Context context; context = new Context(new StrategyA()); context.ContextInterface(); context = new Context(new StrategyB()); context.ContextInterface(); context = new Context(new StrategyC()); context.ContextInterface(); } }}

        輸出結果

        ConcreteStrategyA AlgorithmInterface.ConcreteStrategyB.AlgorithmInterface.ConcreteStrategyC.AlgorithmInterface.

      4.  
        (文/百里海蕓)
        免責聲明
        本文僅代表作發布者:百里海蕓個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

        粵ICP備16078936號

        微信

        關注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯系
        客服

        聯系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        主站蜘蛛池模板: 亚洲午夜一区二区电影院| 精品乱子伦一区二区三区| 久久AAAA片一区二区| 少妇激情AV一区二区三区| 无码8090精品久久一区| 国内精品视频一区二区三区| 亚洲综合一区二区国产精品| 亚洲av无码天堂一区二区三区| 国产伦精品一区二区三区不卡 | 国产MD视频一区二区三区| 精品国产一区二区三区无码| 久久精品一区二区三区日韩| 99久久国产精品免费一区二区 | 夜夜添无码试看一区二区三区| 日韩精品电影一区亚洲| 国产视频一区在线播放| 国产在线一区观看| 国产一区二区在线视频播放| 日本一区二区三区在线看| 日韩视频免费一区二区三区| 国产在线步兵一区二区三区| 国产一区二区在线观看视频| 国产人妖视频一区二区破除| 一区二区三区无码高清视频| 无码日韩精品一区二区人妻| 精品国产免费一区二区三区| 国产高清在线精品一区二区 | 在线视频一区二区| 久夜色精品国产一区二区三区| 爆乳熟妇一区二区三区霸乳| 国产高清精品一区| 中文字幕一区二区免费| 国产爆乳无码一区二区麻豆| 91福利一区二区| 在线观看视频一区二区| 国产MD视频一区二区三区| 手机看片一区二区| 人妻体内射精一区二区三四| 人妻视频一区二区三区免费| 亚洲AV无码一区二区三区国产| 久久中文字幕一区二区|