欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
設計模式學(xué)習筆記(十四)——創(chuàng )建型模式總結

       GoF23種設計模式中創(chuàng )建型模式有5種,分別是:Singleton單件模式、Abstract Factory抽象工廠(chǎng)模式、Builder生成器模式、Factory Method工廠(chǎng)方法模式、Prototype原形模式。下面分別總結這幾種設計模式。

 

設計模式

GoF的描述

我的理解

Singleton單件模式

保證一個(gè)類(lèi)僅有一個(gè)實(shí)例,并提供一個(gè)該實(shí)例全局的訪(fǎng)問(wèn)點(diǎn)

控制實(shí)體對象的數量

Abstract Factory抽象工廠(chǎng)模式

提供一個(gè)接口,讓該接口負責創(chuàng )建一系列相關(guān)或者相互依賴(lài)的對象,無(wú)需指定他們的具體類(lèi)

解決一個(gè)系列的對象變化的問(wèn)題

Builder生成器模式

將一個(gè)復雜對象的構建與其表示向分離,使得同樣的構建過(guò)程可以創(chuàng )建不同的表示

應對項目中一些復雜對象的創(chuàng )建工作。所謂復雜對象,是指:此對象中還含有其它的子對象

Factory Method工廠(chǎng)方法模式

定義一個(gè)用于創(chuàng )建對象的接口,讓子類(lèi)決定實(shí)例化那個(gè)類(lèi)。FactoryMethod使得一個(gè)類(lèi)的實(shí)例化延遲到子類(lèi)

解決的是“某個(gè)對象”的創(chuàng )建工作,由于需求的變化,這個(gè)對象常常面臨著(zhù)劇烈的變化,但是這個(gè)對象擁有的接口相對穩定。也就是說(shuō):枝節常常發(fā)生變化,但是枝節與主干的接口相對穩定

Prototype原形模式

使用原型實(shí)例指定創(chuàng )建對象的種類(lèi),然后通過(guò)拷貝這些原型來(lái)創(chuàng )建新的對象

某些結構復雜的對象的創(chuàng )建工作;由于需求的變化,這些對象經(jīng)常面臨著(zhù)劇烈的變化,但是他們卻擁有比較穩定一致的接口

      

在學(xué)習的過(guò)程中,覺(jué)得從功能上看Abstract Factory模式和Builder模式容易混淆,Factory Method模式和Prototype模式不好區分。Singleton模式?jīng)]什么太大的困難。下面就來(lái)分析一下前四種模式。

一、Abstract Factory模式和Builder模式:

Abstract Factory是應對一系列對象的創(chuàng )建的問(wèn)題,正如前面文章中舉的例子,對于創(chuàng )建一個(gè)汽車(chē)對象來(lái)說(shuō),Abstract Factory模式更關(guān)注一系列的對象的創(chuàng )建,或者說(shuō)是汽車(chē)類(lèi)型中的各個(gè)部分,如:Wheel、Engine、Body等等類(lèi)型的創(chuàng )建。換句話(huà)說(shuō)關(guān)注點(diǎn)在這一系列對象上。

Builder是應對一個(gè)復雜對象創(chuàng )建的問(wèn)題,或者說(shuō)是針對這個(gè)復雜對象中的子對象的創(chuàng )建的問(wèn)題。以汽車(chē)的例子來(lái)說(shuō),我覺(jué)得比起Abstract Factory模式,Builder模式相對注重汽車(chē)類(lèi)型(上面所說(shuō)的“復雜對象”)本身以及其各個(gè)部分(Wheel、Engine、Body等等)類(lèi)型的創(chuàng )建。Builder模式要求這個(gè)復雜的類(lèi)型(汽車(chē))中的各個(gè)子類(lèi)型的結合部分相對穩定,用例子說(shuō)明就是對于汽車(chē)來(lái)說(shuō),無(wú)論用什么配件組裝,個(gè)個(gè)配件的組裝方式都一樣,有相對穩定的接口。對于這輛車(chē)你用什么牌子的Wheel、什么牌子的Engine可能變化會(huì )很大很頻繁。

二、Factory Method模式和Prototype模式:

開(kāi)始我覺(jué)得這兩種模式從功能上講是一樣的(個(gè)人觀(guān)點(diǎn)),都是封裝了對對象的創(chuàng )建,只不過(guò)Prototype模式是用原型克隆進(jìn)行拷貝來(lái)完成對象的創(chuàng )建,在這之中還應注意淺拷貝和深拷貝的區別。在向同事請教后有點(diǎn)明白。這兩種模式在應用場(chǎng)景上還是一定的區別的。

Factory Method模式是重新創(chuàng )建一個(gè)對象

Prototype模式是利用現有的對象進(jìn)行克隆,當兩個(gè)對象或多個(gè)對象雷同的時(shí)候,可以考慮用一個(gè)已創(chuàng )建的對象去克隆出其余的對象。
   以上是對創(chuàng )建型模式的總結,如有不對的觀(guān)點(diǎn)歡迎指正。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
設計模式區別(一)
軟件架構設計系列之十二(設計模式)
設計模式之創(chuàng )建型
設計模式深入學(xué)習---Prototype原型模式
FEM之在求解器中使用設計模式(2)---Abstract Factory模式和Builder模式
設計模式學(xué)習筆記 建造者模式
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久