c# - 创建业务实体助手方法的最佳实践

标签 c# memory-management

就内存管理、内存占用和开发人员易用性而言,为自定义实体对象创建辅助方法的最佳实践是什么。

所以我有了我的对象,我需要一个获取、保存、获取历史记录,甚至可能是一个查找方法。三个选项是:

  1. 在对象本身中包含方法(get 是非直观的,您必须创建一个新对象然后执行:

    myObject.Get(id)

  2. 将方法作为对象类型的静态方法包括在内。

    MyObject myobject = MyObject.Get(id)

  3. 创建一个新的静态方法类,这将要求开发人员可能为项目包含两个 dll。每个引用中的实体、EntityHelper

    MyObject myobject = ObjectHelper.Get(id)

微软似乎选择了选项1,我以List为例对象有add、find和contains方法。

如果您选择回复,首先谢谢您,其次您能否描述一下每种情况下如何处理内存和垃圾回收。

最佳答案

这实际上取决于您所关注的开发范例类型。就个人而言,我选择了控制反转模型,我会专门设置一个类来从其底层存储中检索该对象类型。所以消费者会调用

MyObject myObj = MyObjectFacade.Get(id); 

这将返回一个 MyObject 类型的对象。然后你可以打电话

MyObjectFacade.Save(myObj);

这样,业务实体将只代表相关字段,然后您可以拥有任意数量的对象来负责保存和创建对象。

关于c# - 创建业务实体助手方法的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2897588/

相关文章:

c# - 使用 C# 从 html tbody 中提取数据

c# - 非虚拟方法和密封方法有什么区别?

c# - 使用单例进行缓存

ruby-on-rails - 在方法末尾返回 nil 或 bool 值是否比让 Ruby 返回最后一行代码的结果更高效?

java - 减少非常大的 HashMap 的内存使用

c# - MySQL:连接不同计算机上的多个数据库

C# Access OleDb 标准表达式中的数据类型不匹配

c - 大小信息如何通过指针传递?

Android和图像回收

c++ - 每个进程允许的最大堆使用量