成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何理解.net策略模式-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“如何理解.net策略模式”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“如何理解.net策略模式”吧!

創(chuàng)新互聯(lián)建站基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺(tái)為眾多戶(hù)提供雅安服務(wù)器托管 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。

對(duì)于策略模式的理解:當(dāng)一個(gè)業(yè)務(wù)有多種需求時(shí)候,在某個(gè)時(shí)候需要使用不同的方式來(lái)計(jì)算結(jié)果。這時(shí)候不同的方式可以理解為不同的策略來(lái)解決同樣的問(wèn)題。 例如:商場(chǎng)收銀系統(tǒng)計(jì)算價(jià)格,1:正常計(jì)算 2:商品打折計(jì)算,3:滿(mǎn)300減100等方式。就可以按三種策略來(lái)處理需求。


簡(jiǎn)單的說(shuō):策略模式就是用來(lái)封裝算法的,但在實(shí)踐中,我們發(fā)現(xiàn)可以用他來(lái)封裝幾乎任何類(lèi)型的規(guī)則,只要在分析過(guò)程中聽(tīng)到需要在不同的時(shí)間應(yīng)用不同的業(yè)務(wù)規(guī)則,就可以考慮使用策略模式處理這種變化的可能性。


復(fù)制代碼 代碼如下:

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 "正常計(jì)算價(jià)格";
        }
    }
    public class Discount : TacticsModel
    {
        public override string GetResult()
        {
            return "按打折計(jì)算價(jià)格";
        }
    }
    public class Preferential : TacticsModel
    {
        public override string GetResult()
        {
            return "滿(mǎn)300減100活動(dòng)";
        }
    }
    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();
        }
    }
}


這種方式和簡(jiǎn)單工廠(chǎng)方式差不多,只是有稍微區(qū)別。 簡(jiǎn)單工廠(chǎng)模式需要暴漏給客戶(hù)端兩個(gè)類(lèi),策略模式和工廠(chǎng)模式的簡(jiǎn)單結(jié)合只暴漏了一個(gè)CashContext類(lèi)

客戶(hù)端調(diào)用代碼:

復(fù)制代碼 代碼如下:

   Console.WriteLine("請(qǐng)計(jì)算類(lèi)型1正常,2打折,3優(yōu)惠:");
   string type = Console.ReadLine();
   CashContext cc = new CashContext(type);
   Console.WriteLine(cc.GetResult());

結(jié)果:

如何理解.net策略模式

如何理解.net策略模式

到此,相信大家對(duì)“如何理解.net策略模式”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

新聞標(biāo)題:如何理解.net策略模式-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)網(wǎng)址:http://jinyejixie.com/article40/dpshho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站微信小程序、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站制作小程序開(kāi)發(fā)、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)
融水| 凌云县| 衡水市| 朝阳县| 宁津县| 香格里拉县| 钟祥市| 泾阳县| 囊谦县| 保定市| 新巴尔虎右旗| 桐乡市| 濮阳县| 什邡市| 旬邑县| 贵定县| 沙坪坝区| 常德市| 邹平县| 托克托县| 铜山县| 天柱县| 鄢陵县| 彩票| 金塔县| 宜春市| 香港| 宿迁市| 临高县| 永吉县| 太湖县| 龙口市| 江口县| 彰化市| 休宁县| 抚远县| 本溪市| 紫云| 长春市| 淮南市| 通许县|