記錄我的所做所思
一:case context:????一個Pizza管理系統?
???????? 問題:紅色字體部分可能會modification(增加新的或刪除舊的),所以必須把這部分包裝起來成一個獨立的類。二:SimpleFactory模式??????
??? 優點:因為是一個獨立的類,所以可以共享,一處修改即可,不需修改客戶端。??? 缺點:對"close-opening"原則支持不夠,如有新產品加入還是要改Factory中的代碼。??? 實例:DateFormat類:??????????????
三:Factory Method模式????????當構建對象部分需求發生變化,如現在pizza分為美國和意大利兩種口味。??????? 解決辦法:1:一個抽象創建基類,abstract Product create();??????????????????????????? 2:具體類來實現create方法????????????????????????????3:抽象產品基類。????????????????????????????4:具體產品類。??
The?Factory Method Pattern defines an interface for creation?an object,but let subclasses decide which class to? instantiate.Factory Method?lets a class defer instantiation to subclasses.四:Abstract Factory???? 抽象工廠模式和工廠方法模式的主要區別是,工廠方法模式針對的是一個產品等級結構,而抽象工廠方法對應多個產品等級結構。????? ? 實例:創建分屬不同操作系統的視窗構件。??????????
Copyright @ zhoumin Powered by: .Text and ASP.NET Theme by: .NET Monster