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

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

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

 

我今年的计划,是在工作之余把.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();

 

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

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

posted @ 2018-07-28 15:47  Wang_Charle  阅读(201)  评论(0编辑  收藏  举报