在軟件構建過程中,我們需要為某些對象建立一種“通知依賴關系” ——一個對象(目標對象)的狀態發生改變,所有的依賴對象(觀察者對象)都將得到通知。如果這樣的依賴關系過于緊密,將使 " /> 成a人片亚洲日本久久,成人无码精品一区二区在线观看 ,国产午夜亚洲精品区

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

.NET設計模式:觀察者模式(Observer Pattern)

  概述
  在軟件構建過程中,我們需要為某些對象建立一種“通知依賴關系” ——一個對象(目標對象)的狀態發生改變,所有的依賴對象(觀察者對象)都將得到通知。如果這樣的依賴關系過于緊密,將使軟件不能很好地抵御變化。使用面向對象技術,可以將這種依賴關系弱化,并形成一種穩定的依賴關系。從而實現軟件體系結構的松耦合。
  意圖
  定義對象間的一種一對多的依賴關系,當一個對象的狀態發生改變時, 所有依賴于它的對象都得到通知并被自動更新。[GOF 《設計模式》]
  結構圖

圖1 Observer模式結構圖

  生活中的例子
  觀察者定義了對象間一對多的關系,當一個對象的狀態變化時,所有依賴它的對象都得到通知并且自動地更新。拍賣演示了這種模式。每個投標人都有一個標有數字的牌子用于出價。拍賣師開始拍賣時,他觀察是否有牌子舉起出價。每次接受一個新的出價都改變了拍賣的當前價格,并且廣播給所有的投標人進行新的出價。


圖2 使用拍賣例子的觀察者模式

  Observer模式解說
  下面通過一個例子來說明Observer模式。監控某一個公司的股票價格變化,可以有多種方式,通知的對象可以是投資者,或者是發送到移動設備,還有電子郵件等。一開始我們先不考慮Observer模式,通過一步步地重構,最終重構為Observer模式。現在有這樣兩個類:Microsoft和Investor,如下圖所示:

 

圖3 UML靜態圖示例

  它們的實現如下:

public class Microsoft
{
private Investor _investor;
private String _symbol;
private double _price;
public void Update()
{
_investor.SendData(
this);
}
public Investor Investor
{
get { return _investor; }
set { _investor = value; }
}
public String Symbol
{
get { return _symbol; }
set { _symbol = value; }
}
public double Price
{
get { return _price; }
set { _price = value; }
}
}
public class Investor
{
private string _name;
public Investor(string name)
{
this._name = name;
}
public void SendData(Microsoft ms)
{
Console.WriteLine(
"Notified {0} of {1}'s " + "change to {2:C}", _name,
ms.Symbol,ms.Price);
}
}

NET技術.NET設計模式:觀察者模式(Observer Pattern),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 女张腿男人桶羞羞漫画 | 蜜臀色欲AV无人A片一区 | 校园纯肉H教室第一次 | 亚洲日本乱码中文论理在线电影 | 色悠久久久久综合网小说 | 国产激情视频在线 | 日韩精品一区二区亚洲AV观看 | 99久久国产露脸精品竹菊传煤 | 蜜芽手机在线观看 | 美国色情三级欧美三级纸匠情挑 | 国产在线精品视频免费观看 | 黄色片软件大全 | 欧美亚洲日韩一道免费观看 | 国产人妻人伦精品无码.麻豆 | 日本免费无码A专区在线观看 | 日本中文字幕巨大的乳专区 | 电影果冻传媒在线播放 | 99久久国产露脸精品国产麻豆 | 成年人在线免费观看视频网站 | 5G在线观看免费年龄确认18 | 王雨纯羞羞 | 中文字幕A片视频一区二区 中文字幕AV在线一二三区 | 亚洲国产欧美日韩在线一区 | 在线精品国精品国产不卡 | 国内极度色诱视频网站 | 高h gl肉文| 99久久精品费精品蜜臀AV | beeg日本高清xxxx | 恋夜直播午夜秀场最新 | 日本特黄的免费大片视频 | 好男人在线观看视频观看高清视频免费 | 影音先锋av333资源网 | 超碰视频97av | 嫩草影院久久国产精品 | 偷拍自偷拍亚洲精品 | 97人妻中文字幕免费视频 | 日本久久不射 | BT7086福利二区最新 | 一道本无吗d d在线播放 | wwww69| FREE性丰满白嫩白嫩的HD |