2017-05-25 33 views
0

我知道如何實現以下兩個功能,但是我想知道哪一個在內存/電池/效率等方面更勝一籌。或者是否有一種我在下面沒有提到的方法。連接兩個對象的最佳策略

我已經簡化它下面:

我有2類:1)用戶和2)字符

這兩個類有一個唯一的ID(分別爲用戶ID和charID)。

方法一:

The User class accepts a string called charID. 
(which would be used to pull from the Character object) 

方法2:

The User class accepts a Character Object called character. 
(So this would already include the entire object within itself) 

是其中一個比另一個更好的做法?或者我應該看看另一種方法嗎?

此處的主要目標是將2個對象連接在一起,而不必將一個對象的所有鍵值寫入第一個對象。

期待你的想法! 謝謝!

+0

我相信這兩者都可以。這就是爲什麼我問是否有更好的練習或更好的效率。如果我給它一個charID,那麼當我需要訪問字符對象時,我將不得不通過charID來查找對象。 –

+0

你不會說什麼「拉」的意思。你從數據庫中獲得這些東西嗎?這是數據圖的內存中表示嗎?它有所作爲... –

+0

對不起,我將這些存儲在Firebase數據庫中。然後從那裏拉他們。 –

回答

0

我認爲方法2要好得多,因爲你保留了字符對象的內存引用,而不是使用一個簡單的字符串,並且要花費更多的處理能力來訪問字符對象。

在方法2中,您的User對象將具有一個像指針一樣工作的屬性,它將指向Character對象(在內存中),這樣您就可以訪問完整對象而無需將其所有屬性寫入用戶類。