可維護
可復用可擴充套件
考慮封裝、繼承、多型把程式耦合度降低。
計算和顯示的分離。
即業務邏輯與介面邏輯分開。耦合度降低。
簡單工廠模式:有多個基本的功能類,乙個功能抽象類、工廠類(用來集合和區分、呼叫功能類)。
簡單工廠模式:****** factory 模式根據提供給他的資料,返回幾個可能類中的乙個類的例項。通常她的返回的類都有乙個公共的父類和公共的方法。
優點和缺點:
優點:1.工廠類含有必要的判斷邏輯,可以決定在什麼時候建立哪乙個產品類的例項,客戶端可以免除直接建立產品物件的責任,而僅僅「消費」產品。簡單工廠模式通過這種做法實現了對責任的分割。
缺點:1.當產品有複雜的多層等級結構時,工廠類只有自己,以不變應萬變就是模式的缺點。因為工廠類集中了所有產品建立邏輯,一旦不能正常工作,整個系統都要受到影響。
2.同時,系統擴充套件困難,一旦新增新產品就不得不修改工廠邏輯,有可能造成工廠邏輯過於複雜。
3.另外,簡單工廠模式通常使用靜態工廠方法,這使得無法由子類繼承,造成工廠角色無法形成基於繼承的等級結構
選擇實現
應用場景:
如果想要完全封裝隔離具體實現,讓外部只能通過介面來操作封裝體,則可以選用簡單工廠。讓客戶端通過工廠來獲取相應的介面,而無需關係具體的實現。
如果想要把對外建立物件的職責集中管理和控制,可以選用簡單工廠。
工廠類public class operationfactory
return oper;}}
客戶端**:
operation oper;
oper=operationfactory.createoperate("+");
oper.numbera=1;
oper.numberb=2;
double result=oper.getresult();
設計模式考前預習 4 裝飾模式
裝飾模式 需要把所需的功能按正確的順序串聯起來進行控制。裝飾模式 動態的給乙個物件新增一些額外的職責,就增加功能來說,裝飾模式比生成子類更為靈活。裝飾模式是為已有功能動態的新增更多功能的一種方式。小菜穿衣服為例子 首先是穿上衣的小菜,後來只加褲子鞋子即可 而不是乙個乙個蹦躂,上衣 褲子 鞋子 的小菜...
設計模式考前預習 8 外觀模式
外觀模式 為子系統中的一組介面提供乙個一致的介面,此模板定義了乙個高層介面,這個介面使得這一子系統更加容易使用。外觀模式使用 在設計初期,應該要有意識地講不通的兩個層分離,曾與層之間建立外觀facade。其次,在開發階段,子系統往往因為不斷地重構演化而變得越來越複雜,增加外觀facade,可以提供乙...
設計模式 1 簡單工廠模式
簡單工廠模式屬於建立型的設計模式,其特點是使用乙個工廠生產所有的類物件,通過在工廠類中進行判斷,然後建立需要的功能類。優點 不必使用具體的功能類去建立該類的例項。缺點 新增乙個功能類就需要在工廠類中增加乙個判斷。此處利用 這4個operation來生成不同的operation物件來說明簡單工廠模式。...