c# - 保护业务对象免受更改

标签 c# .net design-patterns architecture c#-2.0

在我的应用程序中,我将业务数据保存为一个包含许多小对象、属性等的巨大对象。

为了根据这些数据打印报告,我创建了一个打印模块。

在打印模块中,我需要访问几乎所有属性、子对象和字段,因此我将 HugeObject 作为参数传递给打印模块。

问题是通过引用传递的 HugeObject 可能会在打印模块中无意中更改。

如何保护HugeObject免受更改?

最佳答案

要深度复制整个对象,序列化和反序列化是一个好方法。您可以在 CodeProject 上找到一篇文章,其中描述了实现细节。 http://www.codeproject.com/Articles/23832/Implementing-Deep-Cloning-via-Serializing-objects

关于c# - 保护业务对象免受更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9665477/

相关文章:

c# - 将列表转换为带单引号的字符串

c# - Streamwriter 写入的内容与 Console.WriteLine() 不同

c# - 显示 TreeNode 的图像

c# - 监控和计算 asp.net 网站性能

c# - 服务器响应中的 DateTime.UtcNow 显示的时间晚于响应后在客户端上调用的 DateTime.UtcNow

c# - .NET EXE 和 DLL 之间的堆栈/堆差异

.net - 是否有一个函数可以返回特殊字符的根字母?

php - 数据库设计 : Matching sql database keys to php constants?

c# - 如何将此 Java 代码移植到 C# 中?

c++ - 图元的实现复合模式示例