我知道我必须在我的类上具有公共读写属性,以便 MongoDB 驱动程序序列化/反序列化我的对象。但是我想知道是否有方法/首选方法可以从我的其余代码中隐藏写入属性?
例如。
class Product
{
private List<Release> releases;
public List<Release> Releases
{
get
{
return new List<Release>(releases); //I can protect 'releases' when reading by passing a copy of it
}
set
{
releases = value; //BUT how can I protect release when writing?
}
}
}
我希望 MongoDB 能够序列化/反序列化我的类型,但我不希望我的其余代码能够覆盖它原本应该是私有的字段/属性。有没有一种模式来处理这个?我曾考虑过有一个单独的ProductDoc
类,它只是用作将 Product 对象进出 MongoDB 的中介,但我不确定是否有更好的解决方案。