国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

踢球時(shí)想到的裝飾器模式

2019-11-17 02:27:59
字體:
供稿:網(wǎng)友

踢球時(shí)想到的裝飾器模式

最近踢了場(chǎng)球,9人制比賽,上半場(chǎng)我們采用防守陣型效果不佳,下半場(chǎng)采用進(jìn)攻陣型取得了比賽的主動(dòng)。我們上下半場(chǎng)所采取的策略,似乎可以用"裝飾器"模式實(shí)現(xiàn)一遍。

首先肯定是抽象基類。

    public abstract class OurStrategy
    {
        public abstract void Play(string msg);
    }

通常,在上半場(chǎng),我們一般都使用防守陣型。

    public class OurDefaultStategy : OurStrategy
    {
        public override void Play(string msg)
        {
            Console.WriteLine("上半場(chǎng)4-1-2-1防守陣型");
        }
    }

下半場(chǎng),會(huì)根據(jù)上半場(chǎng)的態(tài)勢(shì)而調(diào)整陣型。也就是需要實(shí)現(xiàn)OurStrategy這個(gè)抽象類。不過,先不急,我們還得先抽象出一個(gè)實(shí)現(xiàn)OurStrategy這個(gè)抽象類、充當(dāng)裝飾器的一個(gè)抽象類。

    public abstract class OurDecorator : OurStrategy
    {
        PRivate OurStrategy _ourStrategy;
        public OurDecorator(OurStrategy ourStrategy)
        {
            this._ourStrategy = ourStrategy;
        }
        public override void Play(string msg)
        {
            if (_ourStrategy != null)
            {
                _ourStrategy.Play(msg);
            }
        }
    }

以上,這個(gè)充當(dāng)裝飾器的抽象類,接收某個(gè)實(shí)現(xiàn)OurStrategy抽象基類的子類實(shí)例,并執(zhí)行OurStrategy抽象基類的方法Play。

接下來,實(shí)現(xiàn)OurDecorator這個(gè)充當(dāng)裝飾器的類。

    public class AttackStategy : OurDecorator
    {
        public AttackStategy(OurStrategy ourStrategy) : base(ourStrategy)
        {
            
        }
        public override void Play(string msg)
        {
            base.Play(msg);

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新建县| 阜城县| 龙陵县| 黄大仙区| 东光县| 奉新县| 湘西| 兴城市| 永吉县| 靖州| 滨州市| 繁昌县| 班玛县| 武鸣县| 长海县| 互助| 信阳市| 临颍县| 昭通市| 朝阳县| 庐江县| 梁平县| 宝鸡市| 固镇县| 四平市| 时尚| 乐清市| 衡南县| 饶平县| 华蓥市| 蒙山县| 漳浦县| 通道| 万盛区| 衡山县| 彰化县| 洪湖市| 河源市| 鄂托克旗| 门头沟区| 西峡县|