接上文【設計模式】外觀模式降低系統耦合(一)
最近在重構機房收費系統,剛開始的時候使用的是三層架構:ui層、bll層、dal層。開始順利的敲完了登陸的這一條先,後來發現自己以後的線都需要和邏輯層進行交流,正好可以使用上學到的外觀模式,在u層和b層之間新增乙個外觀層,讓它給我們節省力道。在此之前我曾經完成了三層的登陸一條線:【物件導向】初步接觸三層架構,在三層各層之間依舊有著很多亂七八糟的關係。
圖四 通過喝茶來彰顯外觀模式
圖五 三層架構
圖六 七層架構
在ui層和bll層之間建立乙個外觀層(facade)。我們可以把自己想象成ui使用者,facade層就是服務員。這個時候我們需要登入,只要告訴服務員(facade)就可以了,然後他就會幫助我們實現。同理如果我們需要充值,也就告訴服務員就可以了。
這樣的服務員就起到「承上啟下」的作用,把我們的意思告訴bll層就實現了他的歷史任務。
下面我用c#語言,以登陸這條線來給大家演示一下:
ui層例項化facadeprivate void cmdenter_click(object sender, eventargs e)
facade層例項化b層的方法public class
facade
}
b層實現方法public class
usermgr
}catch
return
user;}}
千里之行始於足下,學習就是這樣,敲**更是這樣!如果我們不去接受就會被**拋棄!我們要去接受,去理解!在三層裡面運用上設計模式就是我們的開始。就是三層變七層的開始!未完待續…..設計模式(二) Facade模式(外觀模式)
為子系統中的一組介面提供乙個統一的介面。facade模式定義了乙個更高層的介面,使系統更容易使用。facade模式 關鍵特徵 意圖希望簡化 原系統的使用方式 需要定義自己的介面 問題只要使用某個系統的子集,或者,需要以一種特殊的方式與原系統互動 解決方案 facade模式為原有系統的客戶提供了乙個新...
設計模式(二) 外觀模式 Facade
設計模式 二 外觀模式 facade 為了解決子系統外部的客戶端在使用子系統的時候,既能簡單地使用這些子系統內部的模組功能,而又不用客戶端去與子系統內部的多個模組互動的問題。為子系統中的一組介面提供乙個一致的介面,外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。外觀模式就是通過引入乙...
設計模式 外觀模式
外觀模式,我的理解就是將複雜的類進行重新封裝,將簡單的介面呈現出來,降低呼叫端和實際類的耦合性。拿 大話設計模式 上邊關於 和 的例子來說。對於不入門的股民來說,交易有些過於龐大,需要學習的東西很多,如果沒整明白就進行投資,很容易賠錢的。很多剛入 的股民都賠的很慘。而買 有提出了乙個新的觀念,我們買...