麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

委托、Lambda表達式、事件系列06,使用Action實現(xiàn)觀察者模式,體驗委托和事件的區(qū)別

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

委托、Lambda表達式、事件系列06,使用Action實現(xiàn)觀察者模式,體驗委托和事件的區(qū)別

在"實現(xiàn)觀察者模式(Observer Pattern)的2種方式"中,曾經(jīng)通過接口的方式、委托與事件的方式實現(xiàn)過觀察者模式。本篇體驗使用Action實現(xiàn)此模式,并從中體驗委托與事件的區(qū)別。

□ 使用Action實現(xiàn)觀察者模式

就舉一個足球場上的例子,當(dāng)裁判吹響終場哨,勝隊?wèi)c祝,失敗隊落寞。把裁判看作是被觀察者,比賽中的兩隊看作是觀察者。

裁判作為被觀察者需要提供一個Action委托供觀察者方法注冊。

    public class Referee
    {
        public Action DoSth;
        public void ISayGameOver()
        {
            Console.WriteLine("嘀嘀嘀......比賽結(jié)束了~~");
            DoSth();
        }
    }

勝利的隊和失敗的隊擁有共同的基類。

    public class Team
    {
        PRivate string _name;
        public Team(string name)
        {
            _name = name;
        }
        public string Name
        {
            get { return _name; }
        }
    }

勝利隊或失敗隊,作為觀察者,必須有符合Referee中Action定義的方法。

    public class WinTeam : Team
    {
        public WinTeam(string name) : base(name){}
        public void Celebrate()
        {
            Console.WriteLine("我們晉級了,好開心!");
        }
    }
    public class LoseTeam : Team
    {
        public LoseTeam(string name) : base(name){}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 草草久 | 精品国产一区二区三区久久久蜜月 | 91在线色 | 国产精品久久久久久影院8一贰佰 | 亚洲福利视 | 精品国产91久久久久久久妲己 | 久久久久久久高清 | 欧美日韩国产成人在线 | 久久精品二区 | chengrenzaixian | 成人一级免费视频 | 92看片淫黄大片欧美看国产片 | 久久久噜噜噜久久熟有声小说 | 精品国产看高清国产毛片 | 国产一区网址 | 日韩欧美电影一区二区三区 | 久久综合久久美利坚合众国 | 一本一道久久久a久久久精品91 | 久久老司机 | www.91sese| 亚洲日本欧美 | 嫩草91在线| 中国免费一级毛片 | chengrenzaixian| 中文字幕www | 久久福利剧场 | 国产毛片在线高清视频 | 日韩毛片免费观看 | 国产亚洲欧美视频 | 91精品国产手机 | 曰批全过程120分钟免费69 | 久久久久久麻豆 | 欧美h版电影在线观看 | 日本精品视频一区二区三区四区 | 午夜影院在线免费观看 | 国产一区二区三区影视 | 精品一区二区久久久久久按摩 | 91性高湖久久久久久久久网站 | 中国杭州少妇xxxx做受 | av在线日韩| 成人免费激情视频 |