2012-12-18 63 views
1

在Backbone.js文檔中說,當你遇到循環引用時,你應該重新設計你的應用程序。我幾個月來一直在想這個問題(並且在努力解決它),但它一直在追我。請看看我的結構,並告訴我你將如何設計這個。Backbone.js中的循環引用由於繼承嗎?

這很簡單,我有團隊,我有人。組有人(成員)。一個羣體可以與羣體有關係(例如:一個組織有部門),人們可以與人(同事,經理等)有聯繫。

如果我爲團隊和人員(例如:組織,部門,同事,經理等)製作所有不同的模型,那麼不存在任何問題。但是當我使用繼承(org擴展組,dep擴展組,同事擴展人等)時,循環參考將會引入。

如何解決這個問題?經常聽到的答案是:使用主幹關係。這可能是很棒的軟件,但我想了解它是如何工作的(不僅僅是讓它工作),因此我想自己做。

+4

請更清楚地定義您的問題。我從來沒有聽說過Backbone中有關循環引用的任何問題,也沒有以任何方式提及文檔。循環引用是什麼意思?會發生什麼?示例代碼也是有幫助的。 – jevakallio

+1

我在requirejs中使用主幹時遇到了循環依賴關係,我不確定這是否是您的設置? – FruitBreak

+0

@MarcP這正是我的設置,代碼在我頭上飛快旋轉,我無法思考。看到我的下面。 – GijsjanB

回答

1

循環引用問題是(duh)RequireJS而不是Backbone。

我一直在遇到這個問題。 RequireJS網站表示,如果您遇到循環引用,那麼您的設計不正常。

我重新設計了。我現在使用兩種不同的模型:完整的(有關係),擴展最小的一個(沒有關係)。最小的一個用在集合中,所以循環引用不會發生。

這是我迄今爲止的解決方案。任何更好的想法? :)