我正在用Javascript開發一個小型遊戲框架,並且已經完成了大部分的庫和低層次的東西,所以我沒有把注意力集中在遊戲對象系統上。在我以前的Java遊戲框架中,我使用了非常好用的組合,並且我將整個對象框架暴露給JS,這啓發了我開展這個項目的工作。在Java中,組合效果非常好,因爲你不再需要處理類型轉換,或者至少很少處理,因此所有內容都可以通過相同的管道傳遞。Javascript:複合vs原型設計
但是,在Javascript中,它使您能夠動態地將數據和方法添加到對象,我想知道是否最好跳過整個組合結構,但這裏主要的問題是性能。在數組中存儲對象列表並迭代它們(並直接調用它們的方法)是非常快的,並且具有易於事件傳播/冒泡的附加好處,其中作爲通過原型構建的對象需要穿過巨人檢查列表以查看它是否包含各種方法/數據。我認爲對於非實時應用程序,這可以正常工作,但不需要每秒渲染數百個對象30次以上。我要爲這兩種設計編寫一些測試,但是你們有沒有對此有任何意見?
注意:這是一個html5框架。
+1有趣的問題,尤其是在遊戲開發的上下文中。 – helpermethod