我们的架构师已经谈到在整个代码库中使用SOA技术,甚至在实际上不作为服务托管的接口上也是如此.他的一个要求是我们设计我们的接口方法,以便我们不对实际的实现做出任何假设.因此,如果我们有一个接受对象并需要更新该对象的属性的方法,我们显然需要从该方法返回该对象.否则,我们将依赖于Something是引用类型的事实,并且c#允许我们默认更新引用类型的属性.
所以:
public void SaveSomething(Something something)
{
//save to database
something.SomethingID = 42;
}
Run Code Online (Sandbox Code Playgroud)
变为:
public Something SaveSomething(Something something)
{
//save to database
return new Something
{
//all properties here including new primary key from db
};
}
Run Code Online (Sandbox Code Playgroud)
我无法真正了解这种方法的好处,并想知道是否有人可以提供帮助?
这是一种常见的方法吗?