免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
設(shè)計(jì)模式之創(chuàng)建模式
設(shè)計(jì)模式之創(chuàng)建模式
1          Creational Patterns
將對(duì)象的使用與對(duì)象的創(chuàng)建分開。對(duì)象的使用者不負(fù)責(zé)創(chuàng)建對(duì)象,只需知道如何獲取需
要的對(duì)象。這樣,當(dāng)被使用對(duì)象的創(chuàng)建過程需要變更或擴(kuò)展時(shí),對(duì)象的使用者無須變動(dòng),只要對(duì)專門負(fù)責(zé)創(chuàng)建該對(duì)象的對(duì)象工廠做必要的變更或擴(kuò)展即可。
1.1     The Factory Pattern
1.1.1    基本類圖
1.1.2    分析
當(dāng) BasicProduct 有新的子產(chǎn)品 ExProduct3 要應(yīng)用到系統(tǒng)時(shí), Factory 的 createProduct()
需要簡單修改,增加一個(gè)“ else if ”分支,沒有完全實(shí)現(xiàn)“對(duì)擴(kuò)展開放,對(duì)修改封閉”。但當(dāng)明確產(chǎn)品就是有限的幾種時(shí),仍是有效且常用的。
1.2     The Abstract Factory Pattern
1.2.1    基本類圖
1.2.2    分析
當(dāng) BasicProduct 有新的子類 ExProduct3 要應(yīng)用到系統(tǒng)時(shí),新建一個(gè)對(duì)應(yīng)的擴(kuò)展自
BasicFactory 的 ExFactory3 即可,現(xiàn)有類無需修改,實(shí)現(xiàn)了“對(duì)擴(kuò)展開放,對(duì)修改封閉”。
1.3     The Singleton Pattern
控制系統(tǒng)最多存在某個(gè)類的一個(gè)實(shí)例。很容易將 Singleton Pattern 擴(kuò)展為控制系統(tǒng)只能
創(chuàng)建某個(gè)類的有限個(gè)實(shí)例的情形。系統(tǒng)中大部分管理服務(wù)對(duì)象都是單實(shí)例的。例如,系統(tǒng)存在多個(gè)用戶實(shí)例,但只存在一個(gè)用戶管理者對(duì)象。
1.3.1    常用實(shí)現(xiàn)方式
public class Singleton {
private static Singleton instance = null ;
private Singleton() {}; // 控制外部不能自行創(chuàng)建 Sigleton 實(shí)例
public static Singleton getInstance() {
if ( null == instance ) {
instance = new Singleton();
}
return instance ;
}
}
1.4     The Builder Pattern
1.4.1    基本類圖
1.4.2    分析
當(dāng)一個(gè)產(chǎn)品( Product )由多個(gè)部分( Part1 , Part2 , … , Partn )組成,而各個(gè)部分又有
不同的構(gòu)造方式時(shí)。將產(chǎn)品各部分的構(gòu)造和產(chǎn)品的組裝分離,就是 Builder Pattern 。 Builder 是對(duì)產(chǎn)品各部分構(gòu)造的抽象,而 Director 負(fù)責(zé)使用指定的 Builder 組裝產(chǎn)品。這樣,當(dāng)系統(tǒng)有新的產(chǎn)品各部分構(gòu)造方式需要加入時(shí),只需實(shí)現(xiàn)繼承自 Builder 的 ConcreteBuilder3 即可,系統(tǒng)其他類無需修改,實(shí)現(xiàn)了“對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉”。
1.5     The Prototype Pattern
給定一個(gè)對(duì)象實(shí)例 A ,得到一個(gè)另一個(gè)對(duì)象實(shí)例 B : B 的類型與 A 同, B 的內(nèi)容與 A
相同。常稱 B 為 A 的克隆或副本。
Java 對(duì)象模型直接支持 Prototype Pattern ,因?yàn)?Java 自帶克隆機(jī)制。關(guān)于 Java 克隆機(jī)制,見隨筆:http://www.blogjava.net/RogerTu/archive/2007/03/18/104532.html
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
設(shè)計(jì)模式之創(chuàng)建型
【一分鐘知識(shí)】靜態(tài)變量和實(shí)例變量、構(gòu)造器
設(shè)計(jì)模式學(xué)習(xí)筆記(十四)——?jiǎng)?chuàng)建型模式總結(jié)
設(shè)計(jì)模式-----單例模式(Singleton Pattern)
設(shè)計(jì)模式區(qū)別(一)
【從零開始擼一個(gè)App】Dagger2
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服