日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

設(shè)計模式面面觀(8):創(chuàng)建型模式總結(jié)

系統(tǒng) 1979 0

創(chuàng)建型模式總結(jié) 創(chuàng)建型模式總結(jié)

1. 創(chuàng)建型模式成員

溫故而知新,看完前面 7 章的朋友首先閉上眼睛認真的想想一個很簡單的問題:創(chuàng)建型模式到底有幾種模式?

設(shè)計模式面面觀(8):創(chuàng)建型模式總結(jié)

<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 141.75pt; HEIGHT: 172.5pt" type="#_x0000_t75"><imagedata src="file:///C:%5CDOCUME~1%5CWensi%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.jpg" o:title="創(chuàng)建型模式成員"></imagedata></shape>

這里我特意排了下次序,依據(jù)實現(xiàn)的難易程度由左到右遞增。

2. 創(chuàng)建型模式討論

l 特點:創(chuàng)建型模式他主要解決的是對新類創(chuàng)建( New )動作的封裝處理,所以我把創(chuàng)建型模式歸結(jié)為對新實體的創(chuàng)建工作中存在變化的地方進行封裝,除 Singleton 模式外其他模式都是解決的 new 帶來的耦合關(guān)系。

l 優(yōu)點:

1) 動態(tài)創(chuàng)建新的實體類,用戶可以根據(jù)不同的需求創(chuàng)建不同的產(chǎn)品類(擅長處理易變類的創(chuàng)建工作)

2) 將類創(chuàng)建工作與業(yè)務(wù)邏輯操作分開,形成獨立的創(chuàng)建環(huán)境,用戶可以依據(jù)自己的需要創(chuàng)建適合自己的實體類。

l 缺點:

1) 每創(chuàng)建一個實例類都要額外的去創(chuàng)建一個創(chuàng)建這個實例類的類(工廠類), Prototype 模式其實也是一個工廠,只不過他的工廠就是本身而已,所以 Prototype 嚴格上來說他是一個特殊的工廠

2) 由于 1 )的問題存在所以我們在創(chuàng)建實體類是,需要重復(fù)定義他的創(chuàng)建類。這個我們在抽象工廠中提到過這個問題當(dāng)產(chǎn)品系列增加新品種的時候抽象工廠模式必須調(diào)整各個工廠類的實例方法(體力活)

l

3. 各模式的解決方向匯總表

模式名稱

適用環(huán)境

主意

單件模式( Singleton

控制類實例化個數(shù)(通常為單個)

可以通過他的實現(xiàn)原理解決創(chuàng)建固定類實例個數(shù)的需求

原型模式( Prototype

通過克隆解決一些類操作接口固定的易變類實例,原型模式可以用工廠、抽象工廠、生成器模式相互轉(zhuǎn)換

合理利用原型模式可以規(guī)避一些工廠模式創(chuàng)建工廠類的繁瑣工作

工廠模式 (Factory)

動態(tài)實例化一個客戶需要的類,不考慮類的其他復(fù)雜變化需求

我們在用創(chuàng)建型模式解決問題時通常是從工廠模式開始設(shè)計,當(dāng)遇到復(fù)雜變化時,在考慮重構(gòu)為其他三種工廠模式( Abstract Factory,Builder,Prototype

抽象工廠模式 (AbstractFarctory

擅長與創(chuàng)建相關(guān),相互依賴的系列類,把正在創(chuàng)建類實例的工作下放到子類工廠去操作

抽象工廠是對一系列的類創(chuàng)建工作,提出的一種解決方案

生成器模式( Builder

創(chuàng)建一個有多個類,按照一定業(yè)務(wù)邏輯組合的復(fù)合型類

針對復(fù)雜類創(chuàng)建工作提出的解決方案

創(chuàng)建型模式

設(shè)計模式面面觀(8):創(chuàng)建型模式總結(jié)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 大厂| 钟山县| 随州市| 湖州市| 宜川县| 淮安市| 城固县| 合山市| 文水县| 夏河县| 阳泉市| 周至县| 监利县| 浠水县| 家居| 阳朔县| 清新县| 舟曲县| 贺州市| 山丹县| 罗山县| 泰安市| 贵南县| 灌南县| 秦皇岛市| 台山市| 都江堰市| 叶城县| 高唐县| 高要市| 建瓯市| 天长市| 郁南县| 永嘉县| 包头市| 榕江县| 天门市| 迁西县| 湘西| 绵阳市| 九江县|