原创 依賴倒置原則(二)

依賴倒置原則就是抽象類和接口在使用時的一些規範和建議,我們的應用上層模塊不直接依賴於下層模塊,不具體依賴某個類或者對象,而是依賴於某個抽象。接着上一節的Demo,我們有3個手機的對象。分別是LumiaPhone,Galaxy,ApplePh

原创 log4Net配置文件(十三)

1.添加Log4Net引用 2.在APP.CONFIG中configuration下添加<configSections><section name="log4net" type="log4net.Config.Log4NetConfigur

原创 責任鏈模式(九)

責任鏈模式:爲了解除類與類之間的直接耦合,原來鏈級上層直接依賴於鏈級下層,當鏈發生變化時,難以維護,修改。

原创 觀察者模式(十一)

觀察者模式:由於一種行爲的發生,而引起或牽扯多種未知行爲的發生,爲了解除各行爲對象之間的耦合,所以產生的一種模式。如:天天應用的事件就是一種觀察者模式比如我們的場景:老闆回來了(一種行爲) 前臺妍妍趕緊關閉了電視劇,財務小妍也趕緊關閉了購物

原创 策略模式和簡單工廠(四)

策略模式由前端觸發決定使用某一組算法或邏輯,每一組算法或邏輯不相同,互相不干擾。最後交由一個上下文具體去執行,並可以增加一定公有邏輯。比如某電商平臺搞活動:普通會員:滿100減10塊白銀會員:滿100減15塊  送積分黃金會員:滿100減1

原创 代理模式(八)

代理模式引用者不直接訪問被引用者,而是通過代理最終來達到實現訪問被引用者的目的.舉個例子程序猿開發完成一款軟件,我們自己並不去售賣這些軟件,而是找一些代理去幫我們售賣這些軟件.程序員並不知道最終購買者,但是通過代理把自己的軟件賣給了購買者.

原创 裝飾器模式(十)

裝飾器模式:通過對類的組合,在不破壞原來類的行爲情況下,對類增加額外的行爲,比如原來的學生類有一個學習的方法,但是現在學習完需要考試,在不破壞原來學生類學習方法的情況下,再增加一個考試的方法

原创 接口和抽象類(一)

抽象類是帶有Abstract關鍵字的class,抽象類可以包含字段,屬性,普通方法,事件及特殊的抽象方法接口是帶有interface關鍵字並封裝了對象一系列的行爲,接口可以包含屬性,方法,但不能包含字段和委託。方法不包含具體實現,不帶pub

原创 享元和單例模式(六)

單例模式:整個項目只存在一個對象實例.public class Single     {         private static Single _single = null;         private static object

原创 訪問者模式(五)

訪問者模式就是某一個對象或一組對象,具有不同的行爲,並這些行爲是靈活多變的,在該對象或該組對象相對穩定的情況下,對這些行爲進行抽象,解除對象跟行爲之間的耦合關係.比如電商網站一般有普通,白銀,黃金,鑽石 4個級別的會員會經常舉行各種各樣的活

原创 反射(七)

反射是Net提供的動態調用生成對象,動態調用方法的一組類庫新建一個Relection項目,增加一個Model類庫如下:在Model類庫新增Student類public class Student     {         private 

原创 控制反轉(三)

控制反轉上層不依賴下層,而是依賴第三方依賴注入容器上次的SimpleFactory就可以看做是第三方容器。學生student依賴SimpleFactory 而不直接依賴細節(Honor)我們常用的第三方容器就是Unity,在VS中通過NuG

原创 Expression表達式目錄樹(十二)

Expression:一種數據結構(二叉樹)