2012年11月27日 星期二

javascript is a(an) OO language?

推薦一本書,javascript patterns
http://shop.oreilly.com/product/9780596806767.do

不少專案在研究javascript如何實作繼承(inheritance)這件事情,者本書的第六章專門討論這個章節,有興趣的人也可以跑去研究coffeescript如何實做這件事情
我思考了這個議題的後續發展multiple inheritance三天,終於了解到了他跟類似C++/Java發展的差異性

看backbone.js跟prototye lib的時候,我一直懷疑,為何要包裝成這樣,感覺不如使用javascript來的直觀,效能稍微也比較差一點,但是仔細想想後,他們都有他們的道理,只能說用javascript來實作C++/Java的語意,實在有一定的難度

我得到的東西

  • javascript prototype, property生成的方式
  • C++/Java在多重繼承上面的考量,在multiple-interface跟multiple-inheritance的實作上的差異
  • javascript如何實作多重繼承(我自己弄了一個,就不野人獻曝了)


整體可以看出,javascript在彈性上面很方便,可是如果要實作多重繼承則是非常吃力,code reuse無法如C++/Java容易,反倒是用另外一種觀點(duck typing),反而來的輕鬆,這樣來說算不算OO呢?我覺得是見仁見智囉

沒有留言:

張貼留言