欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

设计模式漫谈之观察者模式

程序员文章站 2022-09-14 17:51:21
人应该自信点,因为在某个方面,你无人可取代。做事,做人都要有底线,一件事的底线是什么,做人的底线是什么,做事的底线要符合做人的底线。这些事都要清楚。 工作要努力,对你最直接的回馈,就是努力工作所应得的报酬。做人要积极上进,(欲望驱使,兴趣驱使,职业规划,人生态度,生活态度驱使等等) 我今年的计划,是 ......

人应该自信点,因为在某个方面,你无人可取代。做事,做人都要有底线,一件事的底线是什么,做人的底线是什么,做事的底线要符合做人的底线。这些事都要清楚。

工作要努力,对你最直接的回馈,就是努力工作所应得的报酬。做人要积极上进,(欲望驱使,兴趣驱使,职业规划,人生态度,生活态度驱使等等)

 

我今年的计划,是在工作之余把.net整个体系,及计算机整个体系再温故一下。

 

现在还说设计模式,因为设计模式是思想上的东西,我这个人在文章中爱扯思想,生活上的事。因为我真的不怕孤独。孤独的时候,我在思考,在和自己对话。

 

算法是玩变量的,面向对象是玩引用的。

通知是要通知你需要干什么,干什么的

设计模式也是现实事物的抽象描述

 

事件发生了,必须有方法处理。

直接上例子:

interface Subject
{

//从接口意思上可以看出,我通知的时候把我的状态传过去
void Notify();
string SubjectState
{
get;
set;
}
}

//委托定义了一类方法

delegate void EventHandler();

 

 

class Boss : Subject
{
//事件是属于对象的

//我发生一个事件,把我的状态传过去
public event EventHandler Update;

private string action;

public void Notify()
{
Update();
}
public string SubjectState
{
get { return action; }
set { action = value; }
}
}

//

class StockObserver
{
private string name;

//我能访问到发布者(通知者)
private Subject sub;
public StockObserver(string name, Subject sub)
{
this.name = name;
this.sub = sub;
}


public void CloseStockMarket()
{
Console.WriteLine("{0} {1} 关闭股票行情,继续工作!", sub.SubjectState, name);
}
}

 

 


Boss huhansan = new Boss();


StockObserver tongshi1 = new StockObserver("魏关姹", huhansan);
//我关注通知者的事件,

//上有政策下有对策

huhansan.Update += new EventHandler(tongshi1.CloseStockMarket);


huhansan.SubjectState = "我胡汉三回来了!";
//当我触发事件是,关注者就有对策执行。
huhansan.Notify();

 

总结,还是那句话,编程靠思想,观察者模式和订阅发布是类似的。也是描述现实中的事物。晚上去开封逛逛小吃街。

不能追求完美了,要不停的持续的优化,尽快设计个产品出来。加油!