99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

深入理解JavaScript系列(6)

2018-06-09 15:56 更新

本文是深入理解JavaScript系列的第篇讀文筆記,博客原文如下,

我們先來看下,什么叫S.O.L.I.D原則

五大原則的含義如下,

  1. The Single Responsibility Principle(單一職責(zé)SRP),一個(gè)類的功能或者說職責(zé)應(yīng)該是單一的。換句話說,一個(gè)類只允許一個(gè)原因能夠讓它發(fā)生變化。
  2. The Open/Closed Principle(開閉原則OCP),一個(gè)類或者軟件實(shí)體應(yīng)該對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉。即應(yīng)該在不修改的情況下即可擴(kuò)展。
  3. The Liskov Substitution Principle(里氏替換原則LSP),派生的對(duì)象或類型必需能夠替換其基類。
  4. The Interface Segregation Principle(接口分離原則ISP),不應(yīng)該強(qiáng)迫客戶依賴沒有使用的接口。
  5. The Dependency Inversion Principle(依賴反轉(zhuǎn)原則DIP),我們應(yīng)該依賴抽象,而不是依賴具體實(shí)現(xiàn);而且低層實(shí)現(xiàn)應(yīng)該依賴高層概念。

然后大叔針對(duì)每一個(gè)原則一連寫了五篇文章。這些文章貌似都是來自同一個(gè)外國(guó)博客的翻譯,但是現(xiàn)在這個(gè)外國(guó)原文已經(jīng)打不開了。

這五篇文章其實(shí)質(zhì)量不是很高,而且在我看來說的內(nèi)容有點(diǎn)不倫不類。

在之前的相當(dāng)一段時(shí)間內(nèi),JavaScript被大肆用來模擬面向?qū)ο缶幊?,Yahoo的YUI框架在這件事上玩到了極致。除了YUI這種非常出名的框架之外,還有許多不知名的框架和類庫在做著使用JavaScript來模擬OOP編程這件事。一時(shí)間輪子滿天飛。

其實(shí)準(zhǔn)確的來說,JavaScript是一門基于對(duì)象,采用原型鏈方式繼承的語言,現(xiàn)在的OOP語言基本上都是采用的基于類繼承的方式,從這一點(diǎn)上來說,JavaScript的繼承機(jī)制對(duì)一部分人的理解造成了干擾。

傳統(tǒng)的OOP語言(比如Java),我覺得基于類的對(duì)象繼承可能并不是萬能的,所以設(shè)計(jì)模式在Java這類編程語言中是一個(gè)非常重要的角色,特別是當(dāng)你開發(fā)比較大型復(fù)雜的應(yīng)用時(shí)。但是這并不代表我們需要將這些概念和模式生硬的照搬到JavaScript中。其實(shí)在某些場(chǎng)景中,JavaScript的原型機(jī)制可以表現(xiàn)的更好。

如果從語言的層面來說,JavaScript是一門多范式的語言,你既可以模仿C語言的風(fēng)格來做面向過程式的編程,你也可以模仿面向?qū)ο蟮木幊?,而且你還可以享受函數(shù)式的編程體驗(yàn),具體怎么去使用要看個(gè)人的能力和具體的場(chǎng)景。往往我們使用JavaScript開發(fā)應(yīng)用的時(shí)候,不自覺的會(huì)用上多種編程風(fēng)格,所以它是很靈活的,關(guān)鍵在于使用的人。

所以,大叔的這五篇文章我并不打算逐一的去分析了,我覺得把傳統(tǒng)OOP語言的東西生搬硬套到JavaScript中并沒有太大的意義,關(guān)鍵是看具體的場(chǎng)景和使用的人吧。

不過JavaScript也是有設(shè)計(jì)模式這種東西的,后面我會(huì)帶來相應(yīng)的文章。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)