本文是深入理解JavaScript系列的第六篇讀文筆記,博客原文如下,
我們先來看下,什么叫S.O.L.I.D原則?
五大原則的含義如下,
然后大叔針對每一個原則一連寫了五篇文章。這些文章貌似都是來自同一個外國博客的翻譯,但是現(xiàn)在這個外國原文已經(jīng)打不開了。
這五篇文章其實質量不是很高,而且在我看來說的內(nèi)容有點不倫不類。
在之前的相當一段時間內(nèi),JavaScript被大肆用來模擬面向對象編程,Yahoo的YUI框架在這件事上玩到了極致。除了YUI這種非常出名的框架之外,還有許多不知名的框架和類庫在做著使用JavaScript來模擬OOP編程這件事。一時間輪子滿天飛。
其實準確的來說,JavaScript是一門基于對象,采用原型鏈方式繼承的語言,現(xiàn)在的OOP語言基本上都是采用的基于類繼承的方式,從這一點上來說,JavaScript的繼承機制對一部分人的理解造成了干擾。
傳統(tǒng)的OOP語言(比如Java),我覺得基于類的對象繼承可能并不是萬能的,所以設計模式在Java這類編程語言中是一個非常重要的角色,特別是當你開發(fā)比較大型復雜的應用時。但是這并不代表我們需要將這些概念和模式生硬的照搬到JavaScript中。其實在某些場景中,JavaScript的原型機制可以表現(xiàn)的更好。
如果從語言的層面來說,JavaScript是一門多范式的語言,你既可以模仿C語言的風格來做面向過程式的編程,你也可以模仿面向對象的編程,而且你還可以享受函數(shù)式的編程體驗,具體怎么去使用要看個人的能力和具體的場景。往往我們使用JavaScript開發(fā)應用的時候,不自覺的會用上多種編程風格,所以它是很靈活的,關鍵在于使用的人。
所以,大叔的這五篇文章我并不打算逐一的去分析了,我覺得把傳統(tǒng)OOP語言的東西生搬硬套到JavaScript中并沒有太大的意義,關鍵是看具體的場景和使用的人吧。
不過JavaScript也是有設計模式這種東西的,后面我會帶來相應的文章。
更多建議: