設計模式漫談之觀察者模式

人應該自信點,由於在某個方面,你無人可取代。作事,作人都要有底線,一件事的底線是什麼,作人的底線是什麼,作事的底線要符合作人的底線。這些事都要清楚。算法

工做要努力,對你最直接的回饋,就是努力工做所應得的報酬。作人要積極上進,(慾望驅使,興趣驅使,職業規劃,人生態度,生活態度驅使等等)編程

 

我今年的計劃,是在工做之餘把.net整個體系,及計算機整個體系再溫故一下。設計模式

 

如今還說設計模式,由於設計模式是思想上的東西,我這我的在文章中愛扯思想,生活上的事。由於我真的不怕孤獨。孤獨的時候,我在思考,在和本身對話。優化

 

算法是玩變量的,面向對象是玩引用的。this

通知是要通知你須要幹什麼,幹什麼的職業規劃

設計模式也是現實事物的抽象描述.net

 

事件發生了,必須有方法處理。設計

直接上例子:server

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();

 

總結,仍是那句話,編程靠思想,觀察者模式和訂閱發佈是相似的。也是描述現實中的事物。晚上去開封逛逛小吃街。

不能追求完美了,要不停的持續的優化,儘快設計個產品出來。加油!

相關文章
相關標籤/搜索