会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
robot.h--为之漫笔
上海优化公司
上海装修公司
博客园
首页
订阅
管理
看美女想到的
观察美丽少妇的后果
当男士看到美丽少妇[
Belle
]时,或多或少会心[Heart]跳加快,脑袋[Brain]浮想连篇。这好像就是Observer模式了吧。
实现代码[简单的一个实现]
.
using
System.Collections;
using
System.Collections.Generic;
using
System;
public
class
Belle:ISubject
{
List
<
IObserver
>
_list
=
new
List
<
IObserver
>
();
public
override
void
Appear()
{
//
Notify
Notify();
}
public
override
void
AddObserver(IObserver observer)
{
_list.Add(observer);
}
public
override
void
RemoveObserver(IObserver observer)
{
_list.Remove( observer);
}
public
override
void
Notify()
{
foreach
(IObserver observer
in
_list)
{
observer.Update(
"
By Roboth
"
);
}
}
}
public
abstract
class
ISubject
{
public
virtual
void
Appear()
{
/**/
///
..
}
public
abstract
void
AddObserver(IObserver observer);
public
abstract
void
RemoveObserver(IObserver observer);
public
virtual
void
Notify()
{
//
..
}
}
public
interface
IObserver
{
void
Update(
string
message);
}
public
class
Heart:IObserver
{
private
string
_name;
public
Heart(
string
name)
{
this
._name
=
name;
}
IObserver 成员
#region
IObserver 成员
public
void
Update(
string
message)
{
string
_email
=
message;
Console.WriteLine(
"
{0} is Attached by {1}
"
,_name,message);
}
#endregion
}
public
class
Brain:IObserver
{
private
string
_name;
public
Brain(
string
name)
{
this
._name
=
name;
}
IObserver 成员
#region
IObserver 成员
public
void
Update(
string
message)
{
string
_phoneNumber
=
message;
Console.WriteLine(
"
{0} is Attached by {1}
"
, _name, _phoneNumber);
}
#endregion
}
class
App
{
static
void
Main()
{
ISubject subject
=
new
Belle();
subject.AddObserver(
new
Heart(
"
my heart
"
));
subject.AddObserver(
new
Brain(
"
my brain
"
));
subject.Appear();
Console.Read();
}
}
posted @
2008-05-22 12:14
roboth
阅读(
525
) 评论(
0
)
收藏
举报
刷新页面
返回顶部
公告