2017-05-25 30 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对象(在内存中),这样您就可以访问完整对象而无需将其所有属性写入用户类。