工作筆記--5種最常用的設計模式

工作筆記–5種最常用的設計模式

1工廠方法 關注對象創建。
2策略模式 關注對象行爲。業務變化時,對數據模塊的增加修改不受影響,開放封閉原則。
3外觀模式 BS/CS
4適配品模式 報表自主開發或購買第三方
5觀察者模式 主界面菜單(菜單的Enable、Vieable狀態)採用事件驅動方式

Spring(ICO控制反轉/DI依賴注入)

單一職責:界面和算法分離,手機和DV(Digital Video攝像機)各做各的,手機雖然可以拍攝,但肯定沒DV專業
開放封閉原則:軟件可擴展、可維護,新增是開放的,而修改是封閉的。Inc、Dec、Mul、Div類,比如再增加一個Squear類不會影響原有類,而修改其中任一個類也不會影響到其他類
依賴倒置(或依賴倒轉)原則,也可以稱爲里氏替換原則,子類可以替換父類,面向抽象、接口編程,而不是面象實現、細結編程。
迪米特原則:假設A類和B類相互獨門,如果他們之間需要調用,可以通過第三方實現。

簡單工廠:在Factory類中定義Calculate類(Inc類的基類)對象,通過switch語句實現,把Inc、Dec、Mul、Div放入裏面,同時創建(new ())該對象

抽像基類 + 工廠方法類 => 策略模式Strategy

抽象工廠Abstract(數據庫可能會變更) => 簡單工廠 + 反射

代理模式Proxy:
複雜的情況:A call B =>C call B,比如A類需要調用B到類,A類裏有B類的引用,此時增加一個C類(Proxy),在C類中引用A類的,同時創建A類的對象,同時增加個接口Intf類,A:Int,C:Int,這樣在客戶端調用時我們就是Intf:i=new C(b的實例);i.Method();
或者簡單點:call A => call C,我們現在需要調用A類,本來可以在客戶端直接A a = new A();s.Add();而現在變成Intf i= new C();i.Add();

外觀模式Facade:是一非常常用的設計模式,經典的三層架構的BLL和DAL,WebUI和BLL之間使用的就是外觀模式,依賴倒置和迪米特原則的完美體現。

中介者模式Mediator:可參考迪米特原則。
享元模式Flyweight: 多人註冊博客或圍棋遊戲,只有黑白二色,如不使用此模式下一盤棋創建對象可能是幾百個,內存會耗盡。

狀態模式和職責鏈模式有點類似

訪問者模式Vistor:是GOF的23種模式中最難的一種。

版權所有,轉載請註明文章出處 http://blog/csdn.net/cadenzasolo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章