成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【譯】《學(xué)習(xí)JavaScript設(shè)計(jì)模式》(二)

lifefriend_007 / 3375人閱讀

摘要:學(xué)習(xí)模式設(shè)計(jì)的過程中,我們遇到原生模式這玩意兒也不是啥大驚小怪的事。最好的設(shè)計(jì)模式通常不直接給出問題的答案,這被人認(rèn)為是解決困難問題的必要步驟。

原書鏈接Learning JavaScript Design Patterns
水平有限很多地方不通順,錯(cuò)翻漏翻歡迎交流。

模式測試,原生模式&約法三章

記住并不是所有的算法啊,最佳實(shí)踐啊,解決方案啊什么的都可以被稱為一個(gè)完整的模式的。很可能它就缺了點(diǎn)什么,而社區(qū)里的那些家伙就喜歡揪著這小辮子不放,直到它經(jīng)過千錘百煉出關(guān)。即使一個(gè)模式已經(jīng)滿足了所有模式標(biāo)準(zhǔn),還需要經(jīng)過時(shí)不時(shí)的合適的測試審查的調(diào)教才能成長為一個(gè)真正的男人,哦不,模式。

回頭看看Alexander說過的,一個(gè)模式既是一個(gè)過程,也是一個(gè)完整的事物。

學(xué)習(xí)模式設(shè)計(jì)的過程中,我們遇到"原生模式"這玩意兒也不是啥大驚小怪的事。這是個(gè)啥?Well,一個(gè)還沒通過模式測試畢業(yè)考試的模式通常就叫原生模式。原生模式的主人把它造出來之后拿到社區(qū)里讓大家一起玩兒,但是由于年紀(jì)太小了,還沒被從里到外翻云覆雨地玩。

或者把原生模式生下來的人對這一系列的測試根本沒啥興趣,給脖子上掛個(gè)出生證明就讓它自生自滅去了。我們通常把這個(gè)出生證明叫做"patlets"。

也不怪他們,給這些模式寫個(gè)完整的文檔確實(shí)讓人萌生退意。回頭看看早期的一些工作,滿足下列條件的模式才能成為好的模式:

解決了一個(gè)特定的問題: 我寫了一個(gè)模式出來,一歲出頭鵝蛋臉眉眼帶笑鼻子挺直嘴角上揚(yáng)唇紅齒白,可她只能看啥事都做不了有啥用啊。能做事兒,這是一個(gè)好的模式最關(guān)鍵的特征。

高手都是會(huì)隱藏的: 我們知道解決問題的技術(shù)通常都是從一些出名的基本原理衍生出來的。最好的設(shè)計(jì)模式通常不直接給出問題的答案,這被人認(rèn)為是解決困難問題的必要步驟。高手嘛,教的都不是形,而是意。

給出的概念一定要是被證實(shí)過的: 設(shè)計(jì)模式要給他們的功能提供專業(yè)鑒定書,沒有專業(yè)鑒定書的都是野路子上不了臺(tái)面。只有勇士和走投無路的人才敢用那些沒來歷的野生模式。

必須闡釋清楚代碼關(guān)系: 有些情況下,模式只是解釋了一些模塊。很多已經(jīng)成型的模式可能也只是吊樣,但是官方定義的模式必須闡釋更底層的系統(tǒng)關(guān)系結(jié)構(gòu)并解釋清楚代碼之間的關(guān)系。

看到這兒你或許覺得自己不去學(xué)習(xí)那些不太規(guī)則的原生模式?jīng)]什么關(guān)系吧??刹皇沁@樣。很多原生模式也是依壁雕鑿,當(dāng)然不是說所有的原生模式都樣兒,但是肯定有不少很好的原生模式,使用我上面告訴你的方法來自行判斷吧。

為了保持模式的可重用性,我們要約法三章,并將三規(guī)則核心價(jià)值觀時(shí)刻牢記心中(別問我這仨有啥區(qū)別,核心價(jià)值觀記住就行了):

對目標(biāo)的可用性: 模式是怎么被認(rèn)為是成功的?

有用性: 為什么這個(gè)模式被認(rèn)為是成功的?

適用性: 這是一個(gè)因?yàn)橛袕V泛適用性所以能成為一個(gè)模式的設(shè)計(jì)嗎?如果是,好好寫文檔吧。重寫或者定義模式的時(shí)候,記住上面三點(diǎn)是非常重要的。

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/79396.html

相關(guān)文章

  • 那些年,我的前端/Java后端書單

    摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學(xué)習(xí)即將閱讀的一些優(yōu)秀經(jīng)典前端后端書籍。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學(xué)習(xí)、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書籍。全文為純原創(chuàng),且將持續(xù)更新,未經(jīng)許可,不得進(jìn)行轉(zhuǎn)載。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 基礎(chǔ) 基礎(chǔ)書籍 進(jìn)階 進(jìn)階階段,深入學(xué)習(xí)的書...

    fxp 評論0 收藏0
  • 那些年,我的前端/Java后端書單

    摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學(xué)習(xí)即將閱讀的一些優(yōu)秀經(jīng)典前端后端書籍。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學(xué)習(xí)、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書籍。全文為純原創(chuàng),且將持續(xù)更新,未經(jīng)許可,不得進(jìn)行轉(zhuǎn)載。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 基礎(chǔ) 基礎(chǔ)書籍 進(jìn)階 進(jìn)階階段,深入學(xué)習(xí)的書...

    Tecode 評論0 收藏0
  • 那些年,我的前端/Java后端書單

    摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學(xué)習(xí)即將閱讀的一些優(yōu)秀經(jīng)典前端后端書籍。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學(xué)習(xí)、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書籍。全文為純原創(chuàng),且將持續(xù)更新,未經(jīng)許可,不得進(jìn)行轉(zhuǎn)載。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 基礎(chǔ) 基礎(chǔ)書籍 進(jìn)階 進(jìn)階階段,深入學(xué)習(xí)的書...

    VPointer 評論0 收藏0
  • 那些年,我的前端/Java后端書單

    摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學(xué)習(xí)即將閱讀的一些優(yōu)秀經(jīng)典前端后端書籍。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學(xué)習(xí)、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書籍。全文為純原創(chuàng),且將持續(xù)更新,未經(jīng)許可,不得進(jìn)行轉(zhuǎn)載。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 基礎(chǔ) 基礎(chǔ)書籍 進(jìn)階 進(jìn)階階段,深入學(xué)習(xí)的書...

    idealcn 評論0 收藏0
  • []JSX:硬幣的另一面

    摘要:它不過是硬幣的另一面。因此,既然我們能夠接受與通過這種方式混合在一塊兒,那么是時(shí)候讓介入并向我們展示硬幣的另一面了第三階段的并不是一個(gè)激進(jìn)的改變,是因?yàn)槲覀冞@個(gè)行業(yè)從一開始就注定和應(yīng)該是在一起的。 React框架剛剛發(fā)布的時(shí)候,JSX顛覆了很多人的想法。習(xí)慣了HTML標(biāo)簽與JavaScript代碼分離的前端工程師們,看到JSX大概都會(huì)不禁吐槽:這些奇怪的標(biāo)簽出現(xiàn)在JavaScript里...

    mudiyouyou 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<