2011-11-13 49 views
2

我正在構建我的第一個基於backbone.js的站點,並且我有一些語義問題。 我的JS應用程序的結構,像這樣:骨幹js MVC語義建議

application.js 
/collections/WorkspaceCollection.js 
...buch of other more atomic collections 
/views/WorkspaceView.js 
...buch of other more atomic views 
/controllers/WorkspaceController.js (extends router) 
...bunch of other atomic controllers 
/models/WorkspaceModel.js 
...bunch of other atomic models 

在我的application.js文件I實例化Worksapce和它去了解它的商務罰款。

我的問題是,如果我有負載sortof ...不。基於MVC的功能,我需要執行有時讓我們說像在各個地方使用的數學函數buch。

它是更正確簡單地傾倒這些進入的application.js或我應該着眼於擴大全球數學對象(似乎有點清潔,但嗯)

猜我在尋找的衛生提示: - )

[編輯]:

只是爲了避免任何混亂,我有一堆的,我需要做一些矢量數學以及其本身有它自己的數學課的JavaScript犯規的幾件事情的數學函數。 我在整個應用程序的不同地方使用其中的一些。 順便說一句,如果我有一個字符串,音頻視頻等功能的負載,我想這個問題可以適用。

回答

1

我有一點或無法理解你的要求在這裏...

但是,數學函數覺得自己應該是​​模型的一部分。該模型不僅僅是一堆數據對象。它包含對您的應用程序很重要的業務規則。它模擬你的世界,其中經常包括數學。該視圖通常不關心數學,除非你正在做一些更原生的繪圖或動畫...

如果有問題的數學函數是通用的,那麼也許你只需要一個數學實用函數?我的意思是,你可以擴展數學對象,但爲什麼會冒這個風險呢?如果你不想在你的模型中使用它,那麼創建你自己的數學工具。

1

你想添加什麼數學函數?如果數學函數特定於您的模型,我會將它們添加到那裏。如果它們是您在任何數學庫中所期望的通用數學函數,那麼擴展全局數學對我來說似乎很好。還有什麼我會創建一個新的類。

0

如果它獨立於您正在構建的應用程序,我會說它應該是一個單獨的文件。擴展本地Math對象通常被認爲是不好的做法。

0

我最終在運行時擴展了下劃線,這可能是不正確的,但下劃線的本質基本上是一組實用功能,它使我的功利功能附加到這個命名空間,因爲它們使用了很多稱讚的下劃線函數。

對此的任何想法也將不勝感激。