學習筆記之設計模式

2021-08-25 13:42:20 字數 1070 閱讀 8645

設計模式

模式是一種解決問題的思路,它已經適應了一種實踐環境,並且可以使用其他環境(用牛耕地,打井取水) 特點在特定場景下有重用性,對相同型別不同問題的環境,其解決方案都有效可傳授性,就是問題出現的機會很多解決問題的方案相同,人們相對可以接受有表示模式的名稱優點:重用設計、系統容易重構、節省時間

五個基本模式

information expert(資訊專家)

creator(建立者)

high cohesion(高內聚)

low coupling(低耦合)

controller(控制器)

四個擴充套件模式

polymorphism(多型)

indirection(間接)

pure fabrication(純虛構)

protected variations(受保護變化)

gof設計模式

分類根據目的準則分類

建立型模式:與物件建立有關結構型模式:處理類或物件的組合

行為型模式:描述類或物件如何互動及如何分配職責根據範圍準則

分類類模式:用來處理類和子類之間的關係,這些關係通過繼承建立,是靜態關係

物件模式:處理物件的關係,這些關係是動態的,在執行期間可以變化

msmq實現原理

訊息的傳送者把自己想要傳送的資訊放入乙個容器中(我們稱之為message),然後把(message queue)中;本地或者是異地的訊息接收程式再從該佇列中取出傳送給它的訊息進行處理。

執行cmd

輸入net stop msdtc //停止msdtc

msdtc - uninstall //解除安裝msdtc

msdtc-install //安裝

net start msdtc//啟動

抽象工廠模式的優缺點

隔離了具體類的生成,使客戶端不需要知道什麼被建立了,實現高內聚,低耦合,應用非常廣泛

缺點:新增新產品物件時,難以擴充套件抽象工廠以便生成新種類的產品,因為abstractfactory 介面規定了所以可能被建立的產品集合,要支援新產品就要對該介面進行擴充套件,這涉及到對abstractfactory及其所有子類進行修改,屬於小小的不便

設計模式之State模式 學習筆記

定義 當乙個物件的內在狀態改變時允許改變其行為,這個物件看起來像是改變了其類。狀態模式主要解決的是當控制乙個物件狀態的條件表示式過於複雜時的情況。把狀態的判斷邏輯轉移到表示不同狀態的一系列類中,可以把複雜的判斷邏輯簡化。意圖 允許乙個物件在其內部狀態改變時改變它的行為 適用場景 1.乙個物件的行為取...

設計模式學習筆記之狀態模式

定義 狀態模式允許物件在內部狀態改變時改變它的行為,物件看起來好像修改了它的類。解決問題 主要解決的是當控制乙個物件狀態轉換的條件表示式過於複雜時的情況。把狀態判斷邏輯轉移到表示不同的一系列類當中,可以把複雜的邏輯判斷簡單化。結構圖 狀態模式所涉及到的角色有 環境 context 角色,也成上下文 ...

設計模式學習筆記之裝飾模式

裝飾模式 包裝器 動態地給物件新增一些額外的職責。即動態擴充套件乙個物件的功能,而不需要改變原始類 具體元件 類和 具體裝飾 類是該模式最重要的兩個角色 抽象元件 author zhenyonghe eg.假設系統中有乙個bird抽象類以及bird類的乙個子類 sparrow。sparrow類實現了...