黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Java設(shè)計(jì)模式

Java創(chuàng)建型模式

在軟件工程中,創(chuàng)建型模式是處理對象創(chuàng)建的設(shè)計(jì)模式,試圖根據(jù)實(shí)際情況使用合適的方式創(chuàng)建對象。基本的對象創(chuàng)建方式可能會導(dǎo)致設(shè)計(jì)上的問題,或增加設(shè)計(jì)的復(fù)雜度。創(chuàng)建型模式通過以某種方式控制對象的創(chuàng)建來解決問題。

創(chuàng)建型模式由兩個(gè)主導(dǎo)思想構(gòu)成。一是將系統(tǒng)使用的具體類封裝起來,二是隱藏這些具體類的實(shí)例創(chuàng)建和結(jié)合的方式。

創(chuàng)建型模式又分為對象創(chuàng)建型模式和類創(chuàng)建型模式。對象創(chuàng)建型模式處理對象的創(chuàng)建,類創(chuàng)建型模式處理類的創(chuàng)建。詳細(xì)地說,對象創(chuàng)建型模式把對象創(chuàng)建的一部分推遲到另一個(gè)對象中,而類創(chuàng)建型模式將它對象的創(chuàng)建推遲到子類中。

創(chuàng)建型模式旨在將系統(tǒng)與它的對象創(chuàng)建、結(jié)合、表示的方式分離。這些設(shè)計(jì)模式在對象創(chuàng)建的類型、主體、方式、時(shí)間等方面提高了系統(tǒng)的靈活性。

創(chuàng)建型模式的特點(diǎn)和分類

創(chuàng)建型模式的主要關(guān)注點(diǎn)是“怎樣創(chuàng)建對象?”,它的主要特點(diǎn)是“將對象的創(chuàng)建與使用分離”。這樣可以降低系統(tǒng)的耦合度,使用者不需要關(guān)注對象的創(chuàng)建細(xì)節(jié),對象的創(chuàng)建由相關(guān)的工廠來完成。就像我們?nèi)ド虉鲑徺I商品時(shí),不需要知道商品是怎么生產(chǎn)出來一樣,因?yàn)樗鼈冇蓪iT的廠商生產(chǎn)。

創(chuàng)建型模式分為以下幾種。

單例(Singleton)模式:某個(gè)類只能生成一個(gè)實(shí)例,該類提供了一個(gè)全局訪問點(diǎn)供外部獲取該實(shí)例,其拓展是有限多例模式。

原型(Prototype)模式:將一個(gè)對象作為原型,通過對其進(jìn)行復(fù)制而克隆出多個(gè)和原型類似的新實(shí)例。

工廠方法(FactoryMethod)模式:定義一個(gè)用于創(chuàng)建產(chǎn)品的接口,由子類決定生產(chǎn)什么產(chǎn)品。

抽象工廠(AbstractFactory)模式:提供一個(gè)創(chuàng)建產(chǎn)品族的接口,其每個(gè)子類可以生產(chǎn)一系列相關(guān)的產(chǎn)品。

建造者(Builder)模式:將一個(gè)復(fù)雜對象分解成多個(gè)相對簡單的部分,然后根據(jù)不同需要分別創(chuàng)建它們,最后構(gòu)建成該復(fù)雜對象。

以上 5 種創(chuàng)建型模式,除了工廠方法模式屬于類創(chuàng)建型模式,其他的全部屬于對象創(chuàng)建型模式,我們將在之后的教程中詳細(xì)地介紹它們的特點(diǎn)、結(jié)構(gòu)與應(yīng)用。

使用

現(xiàn)代軟件工程更加依賴對象的組合,而不是類的繼承,強(qiáng)調(diào)從硬編碼的行為轉(zhuǎn)變到定義一組基本行為來組合成復(fù)雜的行為。硬編碼的行為不夠靈活,因?yàn)槿绻胍淖冊O(shè)計(jì)的一部分,需要通過重寫或者重新實(shí)現(xiàn)才能完成。另外,硬編碼沒有提高重用性,而且難以跟蹤錯誤。由于這些原因,創(chuàng)建型模式比硬編碼的行為更有用。創(chuàng)建型模式使設(shè)計(jì)變得更靈活,提供了不同的方式,從代碼中移除了對需要實(shí)例化的具體類的引用。換句話說,這些模式增強(qiáng)了對象和類之間的獨(dú)立性。

在以下情況中,可以考慮應(yīng)用創(chuàng)建型模式:

? 一個(gè)系統(tǒng)需要和它的對象和產(chǎn)品的創(chuàng)建相互獨(dú)立。

? 一組相關(guān)的對象被設(shè)計(jì)為一起使用。

? 隱藏一個(gè)類庫的具體實(shí)現(xiàn),僅暴露它們的接口。

? 創(chuàng)建獨(dú)立復(fù)雜對象的不同表示。

? 一個(gè)類希望它的子類實(shí)現(xiàn)它所創(chuàng)建的對象。

? 類的實(shí)例化在運(yùn)行時(shí)才指定。

? 一個(gè)類只能有一個(gè)實(shí)例,而且這個(gè)實(shí)例能在任何時(shí)候訪問到。

? 實(shí)例應(yīng)該能在不修改的情況下具有可擴(kuò)展性。

舉例

創(chuàng)建型設(shè)計(jì)模式的一些例子如下:

? 抽象工廠模式,提供一個(gè)創(chuàng)建相關(guān)或依賴對象的接口,而不指定對象的具體類。

? 工廠方法模式,允許一個(gè)類的實(shí)例化推遲到子類中進(jìn)行。

? 生成器模式,將一個(gè)復(fù)雜對象的創(chuàng)建與它的表示分離,使同樣的創(chuàng)建過程可以創(chuàng)建不同的表示。

? 延遲初始化模式,將對象的創(chuàng)建,某個(gè)值的計(jì)算,或者其他代價(jià)較高的過程推遲到它第一次需要時(shí)進(jìn)行。

? 對象池模式,通過回收不再使用的對象,避免創(chuàng)建和銷毀對象時(shí)代價(jià)高昂的獲取和釋放資源的過程。

? 原型模式,使用原型實(shí)例指定要創(chuàng)建的對象類型,通過復(fù)制原型創(chuàng)建新的對象。

? 單例模式,保證一個(gè)類只有一個(gè)實(shí)例,并且提供對這個(gè)實(shí)例的全局訪問方式。

全部教程
主站蜘蛛池模板: 欧美无内丝袜大尺度福利写真 | 中文字幕一区波多野结衣 | 老司机深夜影院入口aaaa | 新神榜哪吒重生免费高清观看 | 99视频精品全部国产盗摄视频 | 国产成人一区免费观看 | 99在线观看国产 | 99在线热视频 | 成人精品视频一区二区在线 | 欧美一区二区三区在线观看 | 麒麟色欧美影院在线播放 | 毛片在线全部免费观看 | 美女一级a毛片免费观看 | 韩国久久| 精品一区二区三区视频在线观看 | 欧美在线观看黄色 | 狠狠色噜狠狠狠狠色综合久 | 日韩免费观看的一级毛片 | 在线视频日韩欧美 | 在线观看欧美国产 | 一区二区三区高清视频在线观看 | 日韩啪 | 日日摸夜夜爽人人添 | 亚洲人成一区二区不卡 | 黄色在线视频免费 | 乱乳荡小说 | 成人免费视频观看无遮挡 | 欧美日韩中文在线视频 | www.黄色大片 | 国产碰碰| 一区二区三区亚洲 | 国产99r视频精品免费观看 | 午夜性影院 | 久久精品国产无限资源 | 在线精品视频成人网 | 欧美一区二区三区视频在线观看 | 亚洲综合第一欧美日韩中文 | 黄色三级a | 自拍偷自拍亚洲精品10p | 青娱乐91视频 | 日韩高清成人 |