网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
Observer模式实例学习
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式

.net框架下的事件和委托理解起来比较困难,特别是委托这个特殊的类型学习起来总是要花点时间。

下面结合Observer模式做了一个简单的例子,希望对初学者有帮助。

首先建一个控制台应用程序。代码如下 :

Program.cs:

using System;
using System.Collections.Generic;
using System.Text;

namespace ObserverPattern
{
    /// <summary>
    /// 声明一个委托类型(即函数模板,指向函数的地址,.net五大类型之一)
    /// </summary>
    public delegate void PersonEventHandler();

    /// <summary>
    /// 声明一个观察者
    /// </summary>
    public class Light
    {
        private Person person = null;
        public Light(Person p)
        {
            person = p;
            person.backOrOut += new PersonEventHandler(p_backOrOut);
        }

        private void p_backOrOut()
        {
            if (person.Dir .ToUpper() == "OUT")
            {
                Console.WriteLine("你要出去,灯会自动熄灭的。");
            }
            else if (person.Dir .ToUpper() == "BACK")
            {
                Console.WriteLine("当您回到家的时候,灯会自动亮起来。");
            }
        }
    }

    /// <summary>
    /// 声明一个主体
    /// </summary〉
    public class Person
    {
        private string dir;
        public string Dir
        {
            get
            {
                return dir;
            }
            set
            {
                dir = value;
  

  • 下一篇资讯: .Net平台开发经验总结
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号