zoukankan
html css js c++ java
.net中的观察者模式(用delegate/event实现)
using
System;
namespace
ConsoleApplication1
{
//
用户界面(观察者1)
public
class
SomeKindOfUI
{
public
void
Show(
object
anObject)
{
if
(anObject
is
SomeData)
{
ImpShow((SomeData)anObject);
}
}
public
void
ImpShow(SomeData data)
{
Console.WriteLine(
"
Observe1. The new ask price is:
"
+
data.AskPrice);
}
}
//
用户界面(观察者2)
public
class
AnotherKindOfUI
{
public
void
Show(
object
anObject)
{
if
(anObject
is
SomeData)
{
ImpShow((SomeData)anObject);
}
}
public
void
ImpShow(SomeData data)
{
Console.WriteLine(
"
Observe2. The new ask price is:
"
+
data.AskPrice);
}
}
//
业务数据(被观察对象)
public
class
SomeData
{
public
delegate
void
UpdateHandler(
object
sender);
public
event
UpdateHandler UpdateEvent;
//
被观察者中的数据
float
_askPrice;
//
改变数据的属性
public
float
AskPrice
{
set
{
_askPrice
=
value;
if
(UpdateEvent
!=
null
)
UpdateEvent(
this
);
}
get
{
return
_askPrice;
}
}
}
/**/
///
<summary>
///
Summary description for Class1.
///
</summary>
class
Class1
{
/**/
///
<summary>
///
The main entry point for the application.
///
</summary>
[STAThread]
static
void
Main(
string
[] args)
{
SomeKindOfUI ui
=
new
SomeKindOfUI();
AnotherKindOfUI anoth
=
new
AnotherKindOfUI();
SomeData data
=
new
SomeData();
data.UpdateEvent
+=
new
SomeData.UpdateHandler(ui.Show);
//
observer1
data.UpdateEvent
+=
new
SomeData.UpdateHandler(anoth.Show);
//
observer2
data.AskPrice
=
6789.2f
;
}
}
}
查看全文
相关阅读:
python 三大框架的 介绍。
爬虫之selenium模拟点击
多线程爬虫爬取详情页HTML
机器学习三剑客之Matplotlib基本操作
机器学习三剑客之Pandas中DataFrame基本操作
机器学习三剑客之Numpy库基本操作
小功能——快速制作属于自己的个性二维码
Django 分页器
Flask 框架中 上下文基础理念,包括cookie,session存储方法,requset属性,current_app模块和g模块
Flask 框架 重定向,捕获异常,钩子方法及使用jsonify在网页返回json数据
原文地址:https://www.cnblogs.com/silva/p/266502.html
最新文章
.NET中的类库
.NET基础——方法
json、protobuf、thrift.md
git 初次使用教程
VScode ERRO: unresolved import issues
shell 劝君更尽一杯酒
Mongo 搞笑学法
DevOps运维Centos7.6上部署Docker环境
不要迷上linux 安装yum源 安装epel源
python3 -m venv filename_venv
热门文章
with与上下文管理器
Python的GIL
爬虫 (反爬)
Django框架的 安装
mysql 数据库 回顾
Visual Studio Code 软件 mysql脚本解决乱码
Flask 框架 网页跳转详解。
Flask cookie和session的存,取,删,操作的代码详解。
Flask 框架的 状态保持
Flask 框架的功能 以及 重点。
Copyright © 2011-2022 走看看