最最直觀的好處就是吹牛逼,看着要比普通創建對象要屌
好看
一般情況下,我們創建對象使用的是new。
Sample sample=new Sample();
然而,實際情況會比這樣復雜的多,比如說
Sample sample=new Sample(超級無敵長、超級無敵多、超級無敵難記、超級無敵容易出錯的參數);
這時候,我們的代碼會非常難看了,相當於把一籮筐的雞蛋全放在一個籃子里,維護起來將會很困難,也容易出錯。
避免new很多東西
假如說我們要創建一個對象,而創建這個對象必須要創建很多個對象才可以實現相應的功能,可想而知,這樣開發難度和維護難度會很高。
舉個例子:
制造一個寶馬汽車X3的車,一般情況我們需要制造輪子、引擎、座位等等;可是如果有一個BMWX3Factory的話,調取該Factory就可以直接制造。
避免混淆
Sample sample=new Sample(超級無敵長、超級無敵多、超級無敵難記);
Sample sample=new Sample(超級無敵長、超級無敵多、超級無敵難記、超級無敵容易出錯的參數);
Sample sample=new Sample(超級無敵長、超級無敵多、超級無敵好記、超級無敵容易出錯的參數);
這三個創建對象的方法非常相似,就只有一個參數不一樣,有時候就是會弄混!
實際例子
我們知道數據庫有多種oracle,db2,sql server,如果,我們每次都要自己初始化連接對象將會蛋疼,因為每次都要自己實現一遍,每次實現的代碼有可能都不一樣,出錯了就會很難維護。
那么通過使用工廠模式,我們只需要記住創建對象的名字就好了,剩下的交給Factory創建就好了,也方便后期的維護。
比如說,DB2的SSL連接
DBconnection sample = DBFactory.createDB2SSLConnection()
比如說,SQL的連接
DBconnection sample = DBFactory.createSQLConnection()
如果說是建造者模式的話,就是一塊一塊參數的拼接,同樣很方便
DB2的SSL連接
DBconnection sample = new DBconnection().withDBtype(DB).withHTTPS()
想要看到更多瑋哥的學習筆記、考試復習資料、面試准備資料?想要看到IBM工作時期的技術積累和國外初創公司的經驗總結?
敬請關注: