日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

设计模式之*

發布時間:2025/3/20 asp.net 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式之* 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天來聊一聊剩下的常用的設計模式!

1.觀察者模式

假如有一個小孩,我需要在他睡醒之后,給他喝奶。我們大概可以這樣做,設一個標志位=false,當小孩醒的時候,標志=true;

寫一個Dad類,定義一個方法,寫一個空循環,直到flag=true,跳出循環,執行下面的操作,喂奶,這樣做,我們需要兩個線程,讓Dad的方法

在主線程里面跑,為小孩類,再開一個線程。

確實,上面的方法沒有問題,也萬全可以這樣做,但是主線程必須不斷地去檢測標志位的值,不斷地去校驗,想想這樣子也不是很科學,十分地浪費資源。

這樣,我們來換一個思路,現在不讓Dad實時地去監測小孩類,我們在小孩睡醒后,給Dad類,發一個通知,告訴Dad,我醒了,讓Dad給小孩喝奶,

具體的代碼實現,大概是這樣寫的;小孩類中,實例化一個Dad類對象dad,在小孩的wake()方法中,去調用dad的nurse()方法進行喂奶。

這樣做,可以節省線程上的資源,實現起來也相對簡單。

JDK中awt,我自己是用得很少,可以幾乎說是陌生,當時awt中有類似的實現。有一個Button類,里面有一個List,裝著一群ActionListener,當觸發Button的press方法的時候,遍歷List,傳給ActionListener一個ActionEvent對象,讓這些ActionListener對這個ActionEvent對象逐一地做出響應。這就是觀察者模式,讓主題或者通知者去傳遞事件,去通知觀察者,觀察者做出響應!

2.brige(橋接)模式

在兩個維度進行排列組合的時候,你可以使用橋接模式,采用內聚的方式實現。用聚合去代替繼承!

在看馬老師的視頻的時候,他舉了這樣的一個例子,關于送禮物的問題。

禮物有很多種類,當從不同方向維度去分類的時候,會出現交叉的情況。

比如說 浪漫的,驚喜的,另類的(這可以說是一個維度)

按實物去劃分,可以是 花,戒指。

現在問題來了,怎么送浪漫的花,或者說另類的戒指的,

如果你簡單地寫了一個Gift類,然后寫5個繼承,浪漫,驚喜,另類,花,戒指。然后你想去送另類的戒指,這個時候就非常地難辦。

存在多個維度的時候,這個簡單的單繼承是很難去解決問題的,你可以這樣寫,

在寫一個GiftImpl類,讓花,戒指去繼承它,

讓浪漫,驚喜,另類去繼承Gift類,

然后呢在Girf類中定義一個GiftImpl的引用,在子類的構造方法中傳入一個實現GirtImpl的子類。

在送禮物的時候,你就可以new?Offbeat(new Ring());這就是一個另類的戒指,好的,你可以拿去送人了.

3.Adapter(適配器)模式

舉個最簡單的例子,用過手機的都知道,你除了數據線,還需要一個適配器的頭,為什么?

中國的電壓是220v,你讓他直接輸到你的手機里?怎么可能?手機是受不了這么大的電壓的,所有需要一個轉換頭,將輸出電壓適配到你手機所能接受的電壓。

如果你要從java中去看待這個問題,我大概能說出兩個方面,

JDBC-ODBC,說的是你用java去操控微軟的數據庫(access),就是你寫java代碼 通過適配器轉成obdc的代碼,間接地去操控access.

還有一個就是java.io中的類 InputStreamReader()就是將InputStream轉化成Reader

4.Command(命令)模式

個人覺得沒什么好講的,就是封裝命令,讓命令的發送者,調用命令的執行者去執行命令。

5.state模式

狀態決定執行,語法上的實現和策略模式差不多!學到這里,23中設計模式的區分,更多的是語義,語法上的實現可能差不多!

6.mediator模式

調停者

7.facade

action去調用service層,service可以說是一個facade

轉載于:https://www.cnblogs.com/think-in-java/p/4771076.html

總結

以上是生活随笔為你收集整理的设计模式之*的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。