国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

「mixin模式」與「裝飾器模式」

陸斌 / 931人閱讀

摘要:今天看到的提問關(guān)于裝飾模式引發(fā)的思考又想起了。其實(shí),模式就是裝飾器模式。這就造成了和裝飾器模式的一個(gè)本質(zhì)不同基于類,還是基于對(duì)象。

今天看到 @chengxuyuan_329633 的提問 關(guān)于裝飾模式引發(fā)的思考 又想起了 mixin。mixin 模式和裝飾器模式很相似。

其實(shí),mixin模式就是裝飾器模式

那么單利模式呢?呵呵,其實(shí)就是全局變量/對(duì)象。

當(dāng)過程式開發(fā)變得越來越復(fù)雜,代碼越難以維護(hù),于是,出現(xiàn)了軟件危機(jī),解決軟件的危機(jī)的方式是什么呢?新的開發(fā)模式,也就是 OO,面向?qū)ο蟆?/p>

但是面向?qū)ο笫倾y彈嗎?至少最開始的時(shí)候是,很多極端的語言說自己是純OO,一切都是對(duì)象,看似很完美,但是很多東西根本就不需要用對(duì)象的,而且頻繁產(chǎn)生對(duì)象也是一件麻煩事,還有些對(duì)象整個(gè)軟件周期內(nèi)只要一個(gè)就可以了,比如數(shù)據(jù)庫連接池,或者 sun 對(duì)象(畢竟太陽只有一個(gè)),但是 OO 的思想迫使他們不能使用全局變量,于是,聰明的 OOer 們開始想辦法,挖空心思的琢磨了幾天幾夜,終于靈光一閃,哇,可以這樣這樣這樣……如此如此如此…… 于是 OOer 們就給他起了一個(gè)高端的名字:單利模式

mixin 也是這種情況,他最開始出現(xiàn)在動(dòng)態(tài)語言,說的具體點(diǎn),主意是哪些另類 OO 語言,即沒有類的 OO 語言,比如 js。這就造成了 mixin 和裝飾器模式的一個(gè)本質(zhì)不同:基于類,還是基于對(duì)象。

mixin 直接修改對(duì)象的屬性,將兩個(gè)對(duì)象 mixin 在一起。而裝飾器模式不是,裝飾器模式所依賴的類是固定的,而且需要很多很多很多,這樣才可以在創(chuàng)建對(duì)象是,用不同的類(主意是類,不是對(duì)象)來裝飾這個(gè)新對(duì)象。

附:前幾天翻譯了一篇關(guān)于javascript的mixin文章:http://justjavac.com/javascript/2012/12/11/are-your-mixins-ecmascript-5-compatible.html

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/77985.html

相關(guān)文章

  • 裝飾模式的應(yīng)用:react高階組件和ES6 裝飾

    摘要:裝飾者模式參與者裝飾者和被裝飾者共同的父類,是一個(gè)接口或者抽象類,用來定義基本行為定義具體對(duì)象,即被裝飾者抽象裝飾者,繼承自,從外類來擴(kuò)展。三裝飾器高階組件可以看做是裝飾器模式在的實(shí)現(xiàn)。 一 裝飾者模式 優(yōu)先使用對(duì)象組合而不是類繼承。 --《設(shè)計(jì)模式》 1.什么是裝飾者模式 定義:動(dòng)態(tài)的給對(duì)象添加一些額外的屬性或行為。相比于使用繼承,裝飾者模式更加靈活。 2.裝飾者模式參與者 Co...

    YuboonaZhang 評(píng)論0 收藏0
  • 裝飾模式裝飾

    摘要:從裝飾模式到裝飾器裝飾模式裝飾模式的作用是在不修改原有的接口的情況下,讓類表現(xiàn)的更好。它是一個(gè)語法糖說完了裝飾模式,我們?cè)倏匆幌略谥凶钚乱氲难b飾器。 從裝飾模式到裝飾器 裝飾模式 裝飾模式的作用是:在不修改原有的接口的情況下,讓類表現(xiàn)的更好。 什么叫更好? 為什么需要裝飾模式 自然是繼承有一些問題繼承會(huì)導(dǎo)致超類和子類之間存在強(qiáng)耦合性,當(dāng)超類改變時(shí),子類也會(huì)隨之改變; 超類的內(nèi)...

    monw3c 評(píng)論0 收藏0
  • JS 裝飾,一篇就夠

    摘要:的裝飾器中的同樣借鑒了這個(gè)語法糖,不過依賴于的方法。等同于也就是說,裝飾器是一個(gè)對(duì)類進(jìn)行處理的函數(shù)。別名或裝飾器在控制臺(tái)顯示一條警告,表示該方法將廢除。有了裝飾器,就可以改寫上面的代碼。 更多文章,請(qǐng)?jiān)贕ithub blog查看 在 ES6 中增加了對(duì)類對(duì)象的相關(guān)定義和操作(比如 class 和 extends ),這就使得我們?cè)诙鄠€(gè)不同類之間共享或者擴(kuò)展一些方法或者行為的時(shí)候,變得并...

    learning 評(píng)論0 收藏0
  • JavaScript設(shè)計(jì)模式裝飾模式

    摘要:原文博客地址裝飾器模式為對(duì)象添加新功能不改變其原有的結(jié)構(gòu)和功能。手機(jī)殼就是裝飾器,沒有它手機(jī)也能正常使用,原有的功能不變,手機(jī)殼可以減輕手機(jī)滑落的損耗。 原文博客地址:https://finget.github.io/2018/11/22/decorator/ 裝飾器模式 為對(duì)象添加新功能;不改變其原有的結(jié)構(gòu)和功能。 手機(jī)殼就是裝飾器,沒有它手機(jī)也能正常使用,原有的功能不變,手機(jī)殼可以...

    tangr206 評(píng)論0 收藏0
  • Decorator:從原理到實(shí)踐,我一點(diǎn)都不虛~

    摘要:描述符必須是這兩種形式之一不能同時(shí)是兩者。可以是任何有效的值數(shù)值,對(duì)象,函數(shù)等。當(dāng)且僅當(dāng)該屬性的為時(shí),才能被賦值運(yùn)算符改變。特點(diǎn)就是不影響之前對(duì)象的特性,而新增額外的職責(zé)功能。 前言 原文鏈接:[Nealyang/personalBlog]() showImg(https://segmentfault.com/img/remote/1460000018958861); ES6 已經(jīng)不必...

    XanaHopper 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

陸斌

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<