原创 依賴倒置原則(二)
依賴倒置原則就是抽象類和接口在使用時的一些規範和建議,我們的應用上層模塊不直接依賴於下層模塊,不具體依賴某個類或者對象,而是依賴於某個抽象。接着上一節的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:一種數據結構(二叉樹)