用委託實現Publisher類

2021-08-20 11:13:59 字數 664 閱讀 1251

接上文中實現的觀察者模式,上文中實現讀者,報紙,出版社時,類publisher如下:

public class publisher

public publisher(string name)

public listpersons = new list();

public void sendnews*****(news***** *****)

}

類publisher中維護了乙個讀者的鍊錶,發布報紙時,遍歷該鍊錶。用委託實現上述功能如下:

public class publisher

public publisher(string name)

public delegate void _persons(news***** *****);

public _persons persons

public void sendnews*****(news***** *****)

}

當然,在實現委託時,也可以採用內建的委託型別action,即:
public actionpersons;
main函式的實現如下:

class program

}

用委託實現發布 訂閱

cat類中包含乙個事件,當cat狀態發生改變時,觸發該事件。事件是一種特殊的委託,關鍵字是event。與委託的不同之處在於 事件不能在類的外部觸發,只能在類的內部觸發。class cat public void catcoming 發布 mouse類需要實時關注cat的狀態,從而執行自己的動作。所以...

事件委託怎麼用?

事件委託思想 就是把乙個子元素的事件委託給其父元素,並通過判斷 事件源物件是否是該子元素 來觸發該事件。什麼時候會用?當子元素是動態建立的,如果直接給子元素繫結事件時,由於靜態檔案先渲染完成,動態的元素後獲取到,導致動態的元素實際並未繫結成功。這時就可以通過事件委託來繫結事件。事件委託的jquery...

10發布者Publisher的程式設計實現

1 建立功能包 1.1 一定要把功能包放在工作空間的src資料夾裡面 建立功能包命令 catkin create pkg 功能包名 learning topic 依賴 roscpp rospy std msgs geometry msgs turtlesim chen ubuntu catkin w...