設計模式二三話 10月份

2022-04-20 03:11:22 字數 1308 閱讀 9168

2023年9月30日

15:30

設計模式二三話

-10月份

理解設計模式

-乙個長期的過程

-23=5+7+11

建立型+

結構型+

行為型 至今比較熟悉的有:

用過:單列模式

,觀察者模式,

介面卡模式,。。

每次還是拿著那個圖看吧:我想

這次就說觀察者模式吧哈。

ljee

說我沒有理解觀察者,

首先分清楚3個

uml

關係把:

乙個聚合(aggregation)

,乙個合成(

composition

),前面兩個箭頭都有尾巴,並且合成尾巴是實心的,就如他的定義樣,部分和整體的生命是一樣的,注意是有生命的。

還有個關係叫做是

關聯(association)

,在觀察者模式中就用到這個,**上看起來就是乙個成員變數罷了,在

uml圖上看起來就是乙個箭頭,沒有尾巴。

定義:觀察者模式定義了

物件之間的一對多依賴,

這樣一來,當乙個物件改變狀態時,它的所有依賴者都會收到通知並自動更新。

類圖:

附:visio原圖

特點:1、觀察者定義了物件之間一對多的關係;

2、主題(即被觀察者)用乙個共同的

介面來更新觀察者;

3、觀察者和被觀察者之間用鬆耦合方式結合,被觀察者不知道觀察者的

細節,只知道觀察者實現了觀察者介面;

4、使用此方式是,

可以從被觀察者處推(push)或拉(pull)資料;

5、有多個觀察者時,不可以依賴特定的通知次序。

適用之處:

各種需求引起的,對資料來源(事件源)的監聽,譬如button的onclick事件監聽/

觸發、page的onload事件監聽/觸發等等;

在多個事件/資料/場景依賴某一事件/資料/場景變更,而觸發自身的變更,也可以使用觀察者模式。

源文件

10月份總結

時光飛逝,10月份已悄然離我們而去。相比上個月剛來大學的膽怯與未知,這個月算是在大學裡徹底紮穩了腳跟。自己對校園的環境已不再陌生,乙個宿舍的室友也已經好的跟親兄弟一樣。各種各樣的活動也如約而至,每天說忙也挺多事的。自己也沒怎麼主動去參加活動,往往都是被動參加的吧。自己本身也不愛參加各種活動,但是覺得...

自考總結 2023年10月份

今天終於考完自考了,感覺心裡的一塊石頭落地了。俗話說最好的學習是考試前和考試後,那麼現在已經考完了,就來回顧一下,學習一下吧。本次自己一共考了兩科 資料結構和c 程式設計,總體來說資料結構沒有想象的那麼難,而c 的話感覺有點難度。回顧一下考前的這乙個月,我們是安排了集體學習的活動,利用手中的軟體做番...

sinox2016即將於10月份發布

本來sinox2016可以在8月份發布,但是為了一步到位,決定等待freebsd11發布後再製作發布。此次更新內容是 1.使用最新的bsd unix核心,達到11版本,pkg軟體包技術可以二進位制安裝,直接使用freebsd的pkg庫安裝軟體,不需編譯。2.器普sepl程式語言語法重大改進以及發布成...