摘要:學習模式設(shè)計的過程中,我們遇到原生模式這玩意兒也不是啥大驚小怪的事。最好的設(shè)計模式通常不直接給出問題的答案,這被人認為是解決困難問題的必要步驟。
原書鏈接Learning JavaScript Design Patterns
水平有限很多地方不通順,錯翻漏翻歡迎交流。
記住并不是所有的算法啊,最佳實踐啊,解決方案啊什么的都可以被稱為一個完整的模式的。很可能它就缺了點什么,而社區(qū)里的那些家伙就喜歡揪著這小辮子不放,直到它經(jīng)過千錘百煉出關(guān)。即使一個模式已經(jīng)滿足了所有模式標準,還需要經(jīng)過時不時的合適的測試審查的調(diào)教才能成長為一個真正的男人,哦不,模式。
回頭看看Alexander說過的,一個模式既是一個過程,也是一個完整的事物。
學習模式設(shè)計的過程中,我們遇到"原生模式"這玩意兒也不是啥大驚小怪的事。這是個啥?Well,一個還沒通過模式測試畢業(yè)考試的模式通常就叫原生模式。原生模式的主人把它造出來之后拿到社區(qū)里讓大家一起玩兒,但是由于年紀太小了,還沒被從里到外翻云覆雨地玩。
或者把原生模式生下來的人對這一系列的測試根本沒啥興趣,給脖子上掛個出生證明就讓它自生自滅去了。我們通常把這個出生證明叫做"patlets"。
也不怪他們,給這些模式寫個完整的文檔確實讓人萌生退意。回頭看看早期的一些工作,滿足下列條件的模式才能成為好的模式:
解決了一個特定的問題: 我寫了一個模式出來,一歲出頭鵝蛋臉眉眼帶笑鼻子挺直嘴角上揚唇紅齒白,可她只能看啥事都做不了有啥用啊。能做事兒,這是一個好的模式最關(guān)鍵的特征。
高手都是會隱藏的: 我們知道解決問題的技術(shù)通常都是從一些出名的基本原理衍生出來的。最好的設(shè)計模式通常不直接給出問題的答案,這被人認為是解決困難問題的必要步驟。高手嘛,教的都不是形,而是意。
給出的概念一定要是被證實過的: 設(shè)計模式要給他們的功能提供專業(yè)鑒定書,沒有專業(yè)鑒定書的都是野路子上不了臺面。只有勇士和走投無路的人才敢用那些沒來歷的野生模式。
必須闡釋清楚代碼關(guān)系: 有些情況下,模式只是解釋了一些模塊。很多已經(jīng)成型的模式可能也只是吊樣,但是官方定義的模式必須闡釋更底層的系統(tǒng)關(guān)系結(jié)構(gòu)并解釋清楚代碼之間的關(guān)系。
看到這兒你或許覺得自己不去學習那些不太規(guī)則的原生模式?jīng)]什么關(guān)系吧。可不是這樣。很多原生模式也是依壁雕鑿,當然不是說所有的原生模式都樣兒,但是肯定有不少很好的原生模式,使用我上面告訴你的方法來自行判斷吧。
為了保持模式的可重用性,我們要約法三章,并將三規(guī)則核心價值觀時刻牢記心中(別問我這仨有啥區(qū)別,核心價值觀記住就行了):
對目標的可用性: 模式是怎么被認為是成功的?
有用性: 為什么這個模式被認為是成功的?
適用性: 這是一個因為有廣泛適用性所以能成為一個模式的設(shè)計嗎?如果是,好好寫文檔吧。重寫或者定義模式的時候,記住上面三點是非常重要的。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/79396.html
摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學習即將閱讀的一些優(yōu)秀經(jīng)典前端后端書籍。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學習、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書籍。全文為純原創(chuàng),且將持續(xù)更新,未經(jīng)許可,不得進行轉(zhuǎn)載。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 基礎(chǔ) 基礎(chǔ)書籍 進階 進階階段,深入學習的書...
摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學習即將閱讀的一些優(yōu)秀經(jīng)典前端后端書籍。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學習、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書籍。全文為純原創(chuàng),且將持續(xù)更新,未經(jīng)許可,不得進行轉(zhuǎn)載。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 基礎(chǔ) 基礎(chǔ)書籍 進階 進階階段,深入學習的書...
摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學習即將閱讀的一些優(yōu)秀經(jīng)典前端后端書籍。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學習、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書籍。全文為純原創(chuàng),且將持續(xù)更新,未經(jīng)許可,不得進行轉(zhuǎn)載。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 基礎(chǔ) 基礎(chǔ)書籍 進階 進階階段,深入學習的書...
摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學習即將閱讀的一些優(yōu)秀經(jīng)典前端后端書籍。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學習、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書籍。全文為純原創(chuàng),且將持續(xù)更新,未經(jīng)許可,不得進行轉(zhuǎn)載。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 基礎(chǔ) 基礎(chǔ)書籍 進階 進階階段,深入學習的書...
摘要:它不過是硬幣的另一面。因此,既然我們能夠接受與通過這種方式混合在一塊兒,那么是時候讓介入并向我們展示硬幣的另一面了第三階段的并不是一個激進的改變,是因為我們這個行業(yè)從一開始就注定和應(yīng)該是在一起的。 React框架剛剛發(fā)布的時候,JSX顛覆了很多人的想法。習慣了HTML標簽與JavaScript代碼分離的前端工程師們,看到JSX大概都會不禁吐槽:這些奇怪的標簽出現(xiàn)在JavaScript里...
閱讀 3947·2021-10-19 13:23
閱讀 2326·2021-09-09 11:37
閱讀 2507·2019-08-29 15:20
閱讀 3407·2019-08-29 11:08
閱讀 1661·2019-08-26 18:27
閱讀 1764·2019-08-23 12:20
閱讀 3028·2019-08-23 11:54
閱讀 2544·2019-08-22 15:19