-
工廠方法模式和抽象工廠模式對比 1.工廠模式是一種極端情況的抽象工廠模式,而抽象工廠模式可以看成是工廠模式的推廣. 2.工廠模式用來創(chuàng)建一個產(chǎn)品的等級結(jié)構(gòu),而抽象工廠模式是用來創(chuàng)建多個產(chǎn)品的等級結(jié)構(gòu)。 3.工廠模式只有一個抽象產(chǎn)品類,而抽象工廠模式有多個抽象產(chǎn)品類。查看全部
-
抽象工廠模式: 1.工廠類接口PersonFactory,下面有實現(xiàn)類MCFactory和HNFactory(圣誕系列、新年系列 -_-|||) 2.接口Boy,下面對應(yīng)實現(xiàn)類MCBoy和HNBoy 3.同上Girl。。。 4. PersonFactory facoty = new HNFactory(); Boy boy = facoty.getBoy(); boy.drawMan();查看全部
-
1.接口 ,定義基本的方法 2.實現(xiàn)類A,實現(xiàn)類B,實現(xiàn)類C... 3.定義屬性文件,讀取屬性文件的屬性類 4.工廠類:根據(jù)類名獲取實例對象(可以根據(jù)屬性文件描述完整類名和key的對應(yīng)關(guān)系,讀取屬性文件) 5.客戶端,創(chuàng)建工廠對象,得到對應(yīng)類的實例對象,調(diào)用類的相應(yīng)的方法 1.定義類似對象的接口:HairInterface 2.實現(xiàn)類:LeftHair,RightHair,MiddleHair 3.type.properties:left=package.classname 4.PropertiesReader:讀取type.properties文件的key-value 5.HairFactory.class: public HairInterface getHairByClassKey(String key){ Map<String,String> map = new PropertiesReader().getProperties(); HairInterface hair = Class.forName(map.get(key)).newInstance(); return hair; } 6.main方法: HairFactory fac = new HairFactory(); HairInterface hair = fac.getHairByClassKey("left"); //調(diào)用hair的方法查看全部
-
工廠模式: 實例化對象,用工廠方法代替new操作 工廠模式包括工廠方法模式和抽象工廠模式 抽象工廠模式是工廠方法模式的擴展。 工廠模式的意圖:定義一個接口來創(chuàng)建對象,但是讓子類來決定哪些類需要被實例化。 工廠方法把實例化的工作推遲到子類中去實現(xiàn)。 適合工廠模式的情況: (1)有一組類似的對象需要創(chuàng)建。 (2)在編碼的時候不能預(yù)見需要創(chuàng)建哪種類的實例。 (3)系統(tǒng)需要考慮擴展性,不應(yīng)依賴于產(chǎn)品類實例化如何被創(chuàng)建,組合和表達的細節(jié)。 設(shè)計: (1)盡量松耦合,一個對象的依賴隊形的變化與本身無關(guān) (2)具體產(chǎn)品與客戶端剝離,責(zé)任分割查看全部
-
抽象工廠模式類圖查看全部
-
工廠方法模式類圖查看全部
-
設(shè)計模式:是一套被反復(fù)使用,多數(shù)人知曉的,經(jīng)過分類編目的,代碼設(shè)計經(jīng)驗的總結(jié) 好處:可以提高代碼的重用性,讓代碼更容易被他人理解,保證代碼的可靠性 工廠模式: 實例化對象,用工廠方法代替new操作 工廠模式包括工廠方法模式和抽象工廠模式 抽象工廠模式是工廠方法模式的擴展。 工廠模式的意圖:定義一個接口來創(chuàng)建對象,但是讓子類來決定哪些類需要被實例化。 工廠方法把實例化的工作推遲到子類中去實現(xiàn)。 適合工廠模式的情況: (1)有一組類似的對象需要創(chuàng)建。 (2)在編碼的時候不能預(yù)見需要創(chuàng)建哪種類的實例。 (3)系統(tǒng)需要考慮擴展性,不應(yīng)依賴于產(chǎn)品類實例化如何被創(chuàng)建,組合和表達的細節(jié)。 設(shè)計: (1)盡量松耦合,(2)具體產(chǎn)品與客戶端剝離 工廠模式的動機: 基于項目現(xiàn)狀將代碼進行如下設(shè)計: 1.盡量松耦合,一個對象的依賴隊形的變化與本身無關(guān) 2.具體產(chǎn)品與客戶端剝離,責(zé)任分割。查看全部
-
hao查看全部
-
設(shè)計模式:是一套被反復(fù)使用,多數(shù)人知曉的,經(jīng)過分類編目的,代碼設(shè)計經(jīng)驗的總結(jié) 好處:可以提高代碼的重用性,讓代碼更容易被他人理解,保證代碼的可靠性 工廠模式: 實例化對象,用工廠方法代替new操作 工廠模式包括工廠方法模式和抽象工廠模式 抽象工廠模式是工廠方法模式的擴展。 工廠模式的意圖:定義一個接口來創(chuàng)建對象,但是讓子類來決定哪些類需要被實例化。 工廠方法把實例化的工作推遲到子類中去實現(xiàn)。 適合工廠模式的情況: (1)有一組類似的對象需要創(chuàng)建。 (2)在編碼的時候不能預(yù)見需要創(chuàng)建哪種類的實例。 (3)系統(tǒng)需要考慮擴展性,不應(yīng)依賴于產(chǎn)品類實例化如何被創(chuàng)建,組合和表達的細節(jié)。 工廠模式的動機: 基于項目現(xiàn)狀將代碼進行如下設(shè)計: 1.盡量松耦合,一個對象的依賴對象的變化與本身無關(guān) 2.具體產(chǎn)品與客戶端剝離,責(zé)任分割。 利用反射,取得類 Class.forName(className).newInstance();查看全部
-
Spring查看全部
-
JDBA查看全部
-
工廠模式適用的場景:查看全部
-
工廠模式的實現(xiàn)查看全部
-
工廠方法模式和抽象工廠模式對比 1.工廠模式是一種極端情況的抽象工廠模式,而抽象工廠模式可以看成是工廠模式的推廣. 2.工廠模式用來創(chuàng)建一個產(chǎn)品的等級結(jié)構(gòu),而抽象工廠模式是用來創(chuàng)建多個產(chǎn)品的等級結(jié)構(gòu)。 3.工廠模式只有一個抽象產(chǎn)品類,而抽象工廠模式有多個抽象產(chǎn)品類。 --------------- 工廠模式的實現(xiàn)幫助我們 1.系統(tǒng)可以在不修改具體工廠角色的情況下引進新的產(chǎn)品。 2.客戶端不必關(guān)系對象如何創(chuàng)建,明確了職責(zé) 3.更好的理解面向?qū)ο蟮脑瓌t,面向接口編程,而不要面向?qū)崿F(xiàn)編程 ----------- 工廠模式適用場景: 1.一個系統(tǒng)應(yīng)當(dāng)不依賴于產(chǎn)品類實例被創(chuàng)立、組成和表示的細節(jié) 2.這個系統(tǒng)的產(chǎn)品有至少一個的產(chǎn)品族 3.同屬于同一個產(chǎn)品族的產(chǎn)品是設(shè)計成在一起使用的。這一約束必須得在系統(tǒng)的設(shè)計中體現(xiàn)出來 4.不同的產(chǎn)品以一系列的接口的面貌出現(xiàn),從而使系統(tǒng)不依賴于接口實現(xiàn)的細節(jié)查看全部
-
1.接口 ,定義基本的方法 2.實現(xiàn)類A,實現(xiàn)類B,實現(xiàn)類C... 3.定義屬性文件,讀取屬性文件的屬性類 4.工廠類:根據(jù)類名獲取實例對象(可以根據(jù)屬性文件描述完整類名和key的對應(yīng)關(guān)系,讀取屬性文件) 5.客戶端,創(chuàng)建工廠對象,得到對應(yīng)類的實例對象,調(diào)用類的相應(yīng)的方法 1.定義類似對象的接口:HairInterface 2.實現(xiàn)類:LeftHair,RightHair,MiddleHair 3.type.properties:left=package.classname 4.PropertiesReader:讀取type.properties文件的key-value 5.HairFactory.class: public HairInterface getHairByClassKey(String key){ Map<String,String> map = new PropertiesReader().getProperties(); HairInterface hair = Class.forName(map.get(key)).newInstance(); return hair; } 6.main方法: HairFactory fac = new HairFactory(); HairInterface hair = fac.getHairByClassKey("left"); //調(diào)用hair的方法查看全部
舉報
0/150
提交
取消