程式設計雜筆

[程設雜筆] javascript實作java interface 以及javacsript 模組化實作

我很喜歡java的OOP設計理念,而在最近開始弄javscript後,總覺得兩者的概念應該是可以互通的。於是我花了點時間研究一下javscript的OOP,包括java裡的interface和static method等概念,順便整理一下我之前慘不忍睹的code。

此外,這篇也試著將我同一個檔案的code,全部都包成一個function,才不會在全域裡宣告太多的命名。

在全域裡宣告太多的函式有一個很大的缺點,有可能會造成命名的衝突。這在小project時可能不會有這個問題,但project一大的時候,而且牽涉到分工的時候,可能就會有這個問題。這個問題叫做javascript的模組化問題。

這部分的資料我還沒全部看完,不過我試著先把同一個檔案的code都包在同一個function裡面。

http://easonlin.logdown.com/posts/74228-javascript-module-pattern-in-depth

javascript的OOP其實沒有像java一樣那麼的嚴格,反而有一點鬆散。它沒有提供像java的interface,就算自己刻了一個出來,也沒有強制力,只是看起來會比較好看醬。不過,我認為比較好看這個理由,就足夠讓我想去把它實作出來。

我參考以下這篇:

http://www.dotblogs.com.tw/regionbbs/archive/2012/05/03/javascript.polymorphism.and.interface.aspx

修改前:

https://github.com/i314i/FireWork/blob/296c496b69eafa36530aea65b575031dc47eab82/js/FireworkManager.js

這是修改後的程式碼,我還在想要怎麼把firework1 firework2 fireworkpoint 的 interface寫到fireworkmanager的prototype裡面。

https://github.com/i314i/FireWork/blob/f5201e8ac20ffb77f974ef1ade1cdfa20e98d176/js/fireworkManager.js

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s