我使用Fluent-NHibernate来管理所有的数据持久层,并且我总体非常满意(并感谢NHibernate社区)。我打算继续使用OR映射器。我围绕正在映射的POCO开发了一个API。缺点是所有的属性都可以由UI开发人员获取和设置;当我真正想要的是隐藏非中间层开发的属性,并只显示提供的API方法来执行操作。在使用OR映射器时隐藏属性设置器
有没有人有这个好策略?
过于简单的例子:
member.FName = "Julian"; /// Don't do this because it avoids the my checking
member.LName = "King";
member.setName("Julian", "King"); /// Yes - this will throw an error if this person already exist
什么是公众制定者和公众的操作有什么区别?两者都产生相同的结果。也许你想让你的类型_immutable_来代替? – MickyD
按操作你是指方法吗?你建议使用方法而不是属性? – Juls
是的。不,这听起来像你想要不可变的类型,在这种情况下,你会把所有东西都传递给构造函数。因此,将不存在改变状态的设置者或方法。 – MickyD