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

                                }

                }

}



这种方法所带来的问题: 员工类和主管类的耦合性太高

1、   在客户程序里必须先创建了主管类之后才能生成员工类,如果在不需要主管类对象而只需员工类对象的地方,为了创建所需的员工类对象实例,你也不得不去先创建一个主管类的对象实例;

2、   如果场景剧本(即客户程序需求)发生了变化

(1)、现在要让一个新的角色(一个新的类),如保安,来代替主管,负责在员工玩游戏时扣员工薪水,那么我们不得不去修改员工类,或许还需要修改主管类;

(2)、如果场景剧本增加新的需求,要求员工在玩游戏后,不但要扣薪水,还要在绩效上扣分,那么我们也不得不修改员工类。


(二)、利用委托的实现:



下面有个例子:在C# 控制台应用程序编辑运行成功:



using System;

namespace CSharpConsole

{

                // 定义委托

                public delegate void PlayGameHandler(object sender,System.EventArgs e);



                // 负责扣钱的人----主管

                public class 主管

                {

                                public 主管()

                                {

                                                Console.WriteLine("生成主管");

                                }



                                public void 扣薪水(object sender,EventArgs e)

               
  • 上一篇资讯: 用C#快速往Excel写数据
  • 下一篇资讯: C#如何取硬件标志
  • 网学推荐

    免费论文

    原创论文

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