00.簡述工廠設計模式

這裏簡單理解:簡單工廠又叫靜態工廠;是將工廠方法的方法體加上static 編程

 

 

問題來了,什麼是開閉原則?又有哪些設計原則呢? 設計模式

開閉原則就是說對擴展開放,對修改關閉。在程序須要進行拓展的時候,不能去修改原有的代碼,實現一個熱插拔的效果。因此一句話歸納就是:爲了使程序的擴展性好,易於維護和升級。想要達到這樣的效果,咱們須要使用接口和抽象類 架構

面向對象設計(Object-Oriented Design,OOD學習

(此處先了解下,隨着知識的深刻在進行學習) 網站

單一職責: spa

開閉原則:對擴展開放,對修改關閉 設計

依賴倒置:多用多態,面向接口/抽象編程;是開閉原則的基礎,具體內容:針對接口編程,依賴於抽象而不依賴於具體。 對象

里氏替換法則:是對"開-閉"原則的補充。實現"開-閉"原則的關鍵步驟就是抽象化;任何基類能夠出現的地方,子類必定能夠出現 blog

接口隔離:使用多個隔離的接口,比使用單個接口要好。仍是一個下降類之間的耦合度的意思,從這兒咱們看出,其實設計模式就是一個軟件的設計思想,從大型軟件架構出發,爲了升級和維護方便。因此上文中屢次出現:下降依賴,下降耦合。 繼承

迪米特法則(最少知道原則):爲何叫最少知道原則,就是說:一個實體應當儘可能少的與其餘實體之間發生相互做用,使得系統功能模塊相對獨立。

 

注意:FactoryBean和BeanFactory是有區別的;前者是工廠實體類,後者是實體類的工廠

開閉原則:對擴展開放,對修改關閉

此時再去加一個新的動物Monkey就須要修改工廠源代碼

 

在該網站來畫類圖加深理解;或者用StarUML軟件

1.工廠方法:

首先建立抽象產品

而後建立具體的產品

定義抽象工廠

定義具體工廠:方式一,不推薦,可是寫法簡單

定義具體工廠:方式二,推薦,可是代碼複雜點

調用具體工廠

 

 

 

修改成簡單工廠simplefactory,簡單工廠又稱靜態工廠.將工廠裏的方法改成static

 

基於簡單工廠開始改寫:

 

第一步:建立抽象類產品/接口

第二步:建立具體產品

 

第三步:定義抽象工廠

第四步:調用具體工廠

 

 

第一步:建立抽象產品/接口

第二步:建立具體產品

第三步:定義抽象工廠(抽象工廠方法還有對工廠進行抽象)

第四步:調用具體工廠

 

代碼演示:

解釋:接口能夠多繼承;類是單繼承類,多實現接口

寶馬抽象類沒有重寫完接口的方法,經過子類來完成額外功能得附加,減小了代碼的變更

對高配和低配工廠的抽象;這也是抽象工廠方法的核心

相關文章
相關標籤/搜索