小编Geo*_*own的帖子

在非服务代码中使用SOA原则而不是OOD

我们的架构师已经谈到在整个代码库中使用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)

我无法真正了解这种方法的好处,并想知道是否有人可以提供帮助?

这是一种常见的方法吗?

oop soa

6
推荐指数
1
解决办法
218
查看次数

标签 统计

oop ×1

soa ×1