想象一下,有 3 个项目。一个库和 2 个可执行文件。
这两个程序都使用该库。项目 1,在其中创建许多类实例,并使用序列化程序保存它们。项目 2,加载它们,但永远不要对它们进行任何更改。
因此,对于项目 2,它应该是只读的,但项目 1 应该拥有对它的完全访问权限。我该如何设计?
可以说,图书馆中有这个类:
public string Name { get; private set;}
public int Age { get; private set;}
public Person(string Name, int Age)
{
this.Name = Name;
this.Age = Age;
}
这对于项目 2 来说是完美的,后者将其用作只读文件。
但是对于项目 1 来说非常烦人,因为只要它只更改类中的一个属性,就必须创建一个全新的实例。拥有 2 个属性时并不烦人,但拥有 10 个属性时非常烦人。当这些值为 const 时,项目 2 甚至会很高兴。
设计它的最佳方法是什么?