现在的位置: 首页 > 综合 > 正文

旧文新帖(First out:2008-06-07):JavaScript“类”继承的横向比较

2013年09月03日 ⁄ 综合 ⁄ 共 5858字 ⁄ 字号 评论关闭

本文最早发表于2008-06-07

首入眼帘,代码:

然后是YUI的儿子,ExtJS:

注:上一个是v2.0的;ExtJS v2.1改进了一点,见:

其实啊,EXT好、YUI也好,它们那一套的继承都源自这个前辈Kevin Lindsey

要搞清楚这套继承来龙去脉,这Article就千万不能错过了:
http://kevlindev.com/tutorials/javascript/inheritance/index.htm

问世时间是:Saturday, April 13th, 2002 。

最后,看到一位仁兄的推荐
,来自John
Resig的方案

好像“集百家之所长”,见:

还有其他基于类的继承方案,如Lazy Inheritance
、Dean Edwards的Base2,不是说不好,而是很好,好到太复杂了(Lazy
Inheritance的简介像论文似的—题外话),——个人认为过于复杂有点违背JS短小精悍的意思,什么东西过了谱就不行的啦 嘿嘿 所以第一眼就枪毙了。

总结一下..嗯 还没太多的心得,还是台湾
的一位朋友说得好:

無奈

  感覺上又回到原始時代,或者說,回到比原始時代更久遠的上古時代,連建構基本的物件架構就有許多的不便,這樣複雜的結構實在有礙思考。想必在Scripting領域的OO或甚至Design
Patten又會發展成另一個Knowledge
Domain吧!過去在其他物件導向語言使用的Patten,硬是要套到這上面來不見得是一件明智的作法,畢竟Script的特性就是如此,與其他語言有一定程度的差別,但也正因為如此,不是Scripting是有缺陷的語言,而是在這個領域的設計及規劃方法,全世界都欠缺足夠的經驗,因此就不像使用
Java或C#那般,可以歡歡喜喜的導入前人歸納的各種設計模式。

注:本文的重点是类继承,如果采用JS原生的“原型”继承 则简单很多——请君勿鄙之,因为存在就是合理。Just take a look 原型继承 by Douglas
Crockford

,比标准方案Prototype = new XX(); Make Sense很多,仅是五六行代码。

抱歉!评论已关闭.