对象 ID 或对象引用
Object id or Object reference
我想知道是在我的 class 中添加对外部对象的引用更好还是只添加它的 ID。我想使用 dapper 或直接 ADO.NET 从数据库创建这些对象。所以我想知道这两种方法之间是否存在性能差异。
例如我有以下对象
Class Object1
{
int Id {get;set;}
string Name {get;set;}
//... etc
}
我还有另一个对象 Object2,它引用了 Object1
Class Object2
{
int Id {get;set;}
//is it better to add this
Object1 object1 {get;set;}
//or to add just an Id
int objectId {get;set;}
}
对象 2 可能有对其他对象的其他引用
我会坚持对对象的引用,因为它会减少使用对象关系映射器时必须编写的访问代码量。比如从 ID 中检索对象,以及减少进行不必要的重复访问的可能性。
但是,如果您在内存中存储了大量这些对象,并且您并不总是需要访问对象引用,则只保留 ID 可能更有效。
这是一种平衡行为,但在大多数情况下,对象引用不会影响您。我需要有关用例的更多信息。
首先,在 .NET framework
中,无论您使用什么类型,都派生自父类型 System.Object
。因此,无论您使用 int, string, double
还是任何其他 type
,都源自 System.Object。因此,无论哪种情况,无论对象是否为 primitive
,它都是对对象的引用。
现在,从 clean code
的角度来看,只要可以将数据组合在一起,就应该编写单独的对象。如果您发现有可能合并相同类型的数据,请继续这样做,因为这会提高代码的可读性。很多时候,您会看到一个 class 有很多数据成员,您的逻辑能力是将它们组合起来并从中提取 classes。
我想知道是在我的 class 中添加对外部对象的引用更好还是只添加它的 ID。我想使用 dapper 或直接 ADO.NET 从数据库创建这些对象。所以我想知道这两种方法之间是否存在性能差异。
例如我有以下对象
Class Object1
{
int Id {get;set;}
string Name {get;set;}
//... etc
}
我还有另一个对象 Object2,它引用了 Object1
Class Object2
{
int Id {get;set;}
//is it better to add this
Object1 object1 {get;set;}
//or to add just an Id
int objectId {get;set;}
}
对象 2 可能有对其他对象的其他引用
我会坚持对对象的引用,因为它会减少使用对象关系映射器时必须编写的访问代码量。比如从 ID 中检索对象,以及减少进行不必要的重复访问的可能性。
但是,如果您在内存中存储了大量这些对象,并且您并不总是需要访问对象引用,则只保留 ID 可能更有效。
这是一种平衡行为,但在大多数情况下,对象引用不会影响您。我需要有关用例的更多信息。
首先,在 .NET framework
中,无论您使用什么类型,都派生自父类型 System.Object
。因此,无论您使用 int, string, double
还是任何其他 type
,都源自 System.Object。因此,无论哪种情况,无论对象是否为 primitive
,它都是对对象的引用。
现在,从 clean code
的角度来看,只要可以将数据组合在一起,就应该编写单独的对象。如果您发现有可能合并相同类型的数据,请继续这样做,因为这会提高代码的可读性。很多时候,您会看到一个 class 有很多数据成员,您的逻辑能力是将它们组合起来并从中提取 classes。