1,簡(jiǎn)單工廠
定義: 專門定義一個(gè)類來(lái)負(fù)責(zé)創(chuàng)建其他類的實(shí)例干发,被創(chuàng)建的實(shí)例通常具有共同的父類
優(yōu)點(diǎn):簡(jiǎn)單工廠模式的優(yōu)點(diǎn)是客戶端可以直接消費(fèi)產(chǎn)品绰播,而不必關(guān)心具體產(chǎn)品的實(shí)現(xiàn)基茵,消除了客戶端直接創(chuàng)建產(chǎn)品對(duì)象的責(zé)任墙歪,實(shí)現(xiàn)了對(duì)責(zé)任的分割频伤。
缺點(diǎn):是工廠類記錄了所有產(chǎn)品的創(chuàng)建邏輯倔韭,一旦不能正常工作术浪,整個(gè)系統(tǒng)都會(huì)受到影響,而且當(dāng)產(chǎn)品類多結(jié)構(gòu)復(fù)雜的時(shí)候寿酌,把所有創(chuàng)建工作放進(jìn)一個(gè)工廠中來(lái)胰苏,回事后期程序的擴(kuò)展較為困難。
2,工廠方法
定義: 在基類中定義創(chuàng)建對(duì)象的一個(gè)接口醇疼,讓子類決定實(shí)例化哪個(gè)類硕并。工廠方法讓一個(gè)類的實(shí)例化延遲到子類中進(jìn)行
exp: 基類定義了創(chuàng)建和方法的接口, 子類去具體的實(shí)現(xiàn)
應(yīng)用場(chǎng)景:
1. 編譯時(shí)無(wú)法準(zhǔn)備預(yù)期要生成的創(chuàng)建的對(duì)象的類
2. 類需要由子類決定運(yùn)行時(shí)生成什么。
3,抽象工廠
定義: 抽象工廠提供一個(gè)固定的接口秧荆,用于創(chuàng)建一系列由關(guān)聯(lián)或者相依存的對(duì)象,而不必指定其具體類或其創(chuàng)建的細(xì)節(jié)