資源描述:
《設(shè)計模式 工廠模式.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、設(shè)計模式——工廠模式教學內(nèi)容創(chuàng)建型模式創(chuàng)建型模式概述創(chuàng)建型模式簡介工廠模式簡單工廠模式工廠方法模式抽象工廠模式創(chuàng)建型模式創(chuàng)建型模式概述創(chuàng)建型模式(CreationalPattern)對類的實例化過程進行了抽象,能夠?qū)④浖K中對象的創(chuàng)建和對象的使用分離。為了使軟件的結(jié)構(gòu)更加清晰,外界對于這些對象只需要知道它們共同的接口,而不清楚其具體的實現(xiàn)細節(jié),使整個系統(tǒng)的設(shè)計更加符合單一職責原則。創(chuàng)建型模式創(chuàng)建型模式概述創(chuàng)建型模式在創(chuàng)建什么(What),由誰創(chuàng)建(Who),何時創(chuàng)建(When)等方面都為軟件設(shè)計者提供了盡可能大的靈活性。創(chuàng)建型模式隱藏了
2、類的實例的創(chuàng)建細節(jié),通過隱藏對象如何被創(chuàng)建和組合在一起達到使整個系統(tǒng)獨立的目的。創(chuàng)建型模式想吃蘋果!?創(chuàng)建型模式概述創(chuàng)建型模式通常獲取蘋果的兩種方式自己種蘋果樹去超市買創(chuàng)建型模式概述創(chuàng)建型模式簡單工廠模式(SimpleFactory)工廠方法模式(FactoryMethod)抽象工廠模式(AbstractFactory)原型模式(Prototype)單例模式(Singleton)建造者模式(Builder)創(chuàng)建型模式簡介工廠模式工廠模式專門負責將大量有共同接口的類實例化,而且不必事先知道每次是要實例化哪一個類的模式工廠模式有以下幾種形態(tài):
3、簡單工廠(SimpleFactory)模式工廠方法(FactoryMethod)模式抽象工廠(AbstractFactory)模式思想:對類的實例化進行封裝。簡單工廠模式(SimpleFactory)簡單工廠模式生活中的例子只要說出水果的名字就能得到想要的水果。生活中的例子麥當勞和肯德基都賣雞翅,盡管口味有所不同,但不管你去麥當勞或肯德基,只管向服務員說“來四個雞翅”就行了。麥當勞和肯德基就是生產(chǎn)雞翅的Factory簡單工廠模式簡單工廠模式就是由一個工廠類根據(jù)傳入的參數(shù)決定創(chuàng)建出哪一種產(chǎn)品類的實例。一個工廠類封裝了所有的類的實例化在程序的
4、設(shè)計中不涉及到具體子類,達到封裝效果,也就減少錯誤修改的機會打個比方,就是具體事情做得越多,越容易范錯誤。相反,官做得越高,說出的話越抽象越籠統(tǒng),犯錯誤可能性就越少。簡單工廠模式簡單工廠模式模式動機考慮一個簡單的軟件應用場景,一個軟件系統(tǒng)可以提供多個外觀不同的按鈕(如圓形按鈕、矩形按鈕、菱形按鈕等),這些按鈕都源自同一個基類,不過在繼承基類后不同的子類修改了部分屬性從而使得它們可以呈現(xiàn)不同的外觀,如果我們希望在使用這些按鈕時,不需要知道這些具體按鈕類的名字,只需要知道表示該按鈕類的一個參數(shù),并提供一個調(diào)用方便的方法,把該參數(shù)傳入方法即可返
5、回一個相應的按鈕對象,此時,就可以使用簡單工廠模式。簡單工廠模式模式定義簡單工廠模式(SimpleFactoryPattern):又稱為靜態(tài)工廠方法(StaticFactoryMethod)模式,它屬于類創(chuàng)建型模式。在簡單工廠模式中,可以根據(jù)自變量的不同返回不同類的實例。簡單工廠模式專門定義一個類來負責創(chuàng)建其他類的實例,被創(chuàng)建的實例通常都具有共同的父類。簡單工廠模式——模式結(jié)構(gòu)if(arg.equalsIgnoreCase("A")){returnnewConcreteProductA;}elseif(arg.equalsIgnoreCa
6、se("B")){returnnewConcreteProductB;}else{......}ConcreteProductAProductFactory+factoryMethod(Stringarg)...:ProductConcreteProductB簡單工廠模式模式結(jié)構(gòu)簡單工廠模式包含如下角色:Factory:工廠角色Product:抽象產(chǎn)品角色ConcreteProduct:具體產(chǎn)品角色簡單工廠模式模式分析將對象的創(chuàng)建和對象本身業(yè)務處理分離可以降低系統(tǒng)的耦合度,使得兩者修改起來都相對容易。在調(diào)用工廠類的工廠方法時,由于工廠方法
7、是靜態(tài)方法,使用起來很方便,可通過類名直接調(diào)用,而且只需要傳入一個簡單的參數(shù)即可。簡單工廠模式最大的問題在于工廠類的職責相對過重,增加新的產(chǎn)品需要修改工廠類的判斷邏輯,這一點與開閉原則是相違背的。簡單工廠模式的要點在于:當你需要什么,只需要傳入一個正確的參數(shù),就可以獲取你所需要的對象,而無需知道其創(chuàng)建細節(jié)。簡單工廠模式模式實例與解析實例一:簡單電視機工廠某電視機廠專為各知名電視機品牌代工生產(chǎn)各類電視機,當需要海爾牌電視機時只需要在調(diào)用該工廠的工廠方法時傳入?yún)?shù)“Haier”,需要海信電視機時只需要傳入?yún)?shù)“Hisense”,工廠可以根據(jù)傳
8、入的不同參數(shù)返回不同品牌的電視機?,F(xiàn)使用簡單工廠模式來模擬該電視機工廠的生產(chǎn)過程。簡單工廠模式模式實例與解析實例一:簡單電視機工廠簡單工廠模式模式實例與解析實例二:權(quán)限管理在某OA系統(tǒng)中,系統(tǒng)