好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 淺析.net策略模式

淺析.net策略模式

熱門標簽:河南語音外呼系統公司 威海電銷 寧夏機器人電銷 關于宗地圖標注技術規范 t3出行地圖標注怎么做 400電話辦理最優質 河北網絡回撥外呼系統 外呼電銷機器人軟件 400免費電話怎么辦理

對于策略模式的理解:當一個業務有多種需求時候,在某個時候需要使用不同的方式來計算結果。這時候不同的方式可以理解為不同的策略來解決同樣的問題。 例如:商場收銀系統計算價格,1:正常計算 2:商品打折計算,3:滿300減100等方式。就可以按三種策略來處理需求。

簡單的說:策略模式就是用來封裝算法的,但在實踐中,我們發現可以用他來封裝幾乎任何類型的規則,只要在分析過程中聽到需要在不同的時間應用不同的業務規則,就可以考慮使用策略模式處理這種變化的可能性。

復制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DesignModel
{
    /// summary>
    /// 策略模式
    /// /summary>
    public class TacticsModel
    {
        public string type { get; set; }
        public virtual string GetResult()
        {
            return "";
        }
    }
    public class Normal:TacticsModel
    {
        public override string GetResult()
        {
            return "正常計算價格";
        }
    }
    public class Discount : TacticsModel
    {
        public override string GetResult()
        {
            return "按打折計算價格";
        }
    }
    public class Preferential : TacticsModel
    {
        public override string GetResult()
        {
            return "滿300減100活動";
        }
    }
    public class CashContext
    {
        TacticsModel tm = null;
        public CashContext(string type)
        {
            switch (type)
            {
                case "1":
                    tm = new Normal();
                    break;
                case "2":
                    tm = new Discount();
                    break;
                case "3":
                    tm = new Preferential();
                    break;
                default:
                break;
             }
        }
        public string GetResult()
        {
            return tm.GetResult();
        }
    }
}

這種方式和簡單工廠方式差不多,只是有稍微區別。 簡單工廠模式需要暴漏給客戶端兩個類,策略模式和工廠模式的簡單結合只暴漏了一個CashContext類

客戶端調用代碼:

復制代碼 代碼如下:

   Console.WriteLine("請計算類型1正常,2打折,3優惠:");
   string type = Console.ReadLine();
   CashContext cc = new CashContext(type);
   Console.WriteLine(cc.GetResult());

結果:

其中還是使用了swich ,也就是就是說增加一種需求就有更改swith語句,很是不爽,不過任何需求的變更都是需要成本的。

只是成本的高低是有區別的。這個地方用反射技術會有更好的效果。后續會補充。

您可能感興趣的文章:
  • jquery獲得同源iframe內body下標簽的值的方法
  • 深入理解JavaScript系列(19):求值策略(Evaluation strategy)詳解
  • 深入理解JavaScript系列(33):設計模式之策略模式詳解
  • JavaScript設計模式之策略模式實例
  • js設置document.domain實現跨域的注意點分析
  • js兼容火狐獲取圖片寬和高的方法
  • js兼容火狐顯示上傳圖片預覽效果的方法
  • js同源策略詳解

標簽:吉林 咸寧 廣元 樂山 淮北 固原 賀州 池州

巨人網絡通訊聲明:本文標題《淺析.net策略模式》,本文關鍵詞  淺析,.net,策略,模式,淺析,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺析.net策略模式》相關的同類信息!
  • 本頁收集關于淺析.net策略模式的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 山村小嫩苞h文高辣h文合集| 国产精品成人aaaaa网站| 甜性涩爱播放| 色婷婷综合网| 国产成人精品白浆免费视频试看 | 美女国产毛片A区内射| 女人脱了内裤让男人添j| 性夜久久一区国产9人妻| 欧洲黄色片| 欧美大胆裸体XXOO| 日韩孕交| 印度人粗又长硬配种视频| 色婷婷色狠狠| 性videosgratis喷潮hd| 啊啊啊好爽好舒服| 国产麻豆剧传媒精品国产AV| 久久中国毛毛片爱久久| 51社区永久免费| 韩国午夜理伦三级2018| 国产一区在线视频| x8国产精品视频| 狠狠色噜噜狠狠狠狠色吗综合| 久久久久精品国产mv红杏| 天美传媒tm0024在线观看| 出差和憧憬上司持续中出| 龙骑战机| 18欧美乱大交hd88av| 女人高潮大叫一级毛片| free性中国| 男同动漫Gay片cartoon| FuckGAy老汉呻吟| 国产高清无线码2021| 波多野结衣52部合集在线观看| AV精品一区二区三区久久久精品 | 天天碰天天摸天天操| 蔺先生的日常调教h| 故意穿暴露被强好爽H漫画| 日本肉体xxxx69xxxx| 亚色在线观看| 亚洲精品国产成人久久久| 国产AV送外卖剧情在线观看|