不久前,我开始了一份新工作,他们一直在使用 WCF 处理 UI 和后端之间的所有数据/业务逻辑,这很棒。
我注意到,这些 WCF 服务调用中的绝大多数都包含各种参数。例如,假设您有一个名为 GetFoo 的服务调用。在这里,我们可能会使用如下签名:
public Foo GetFoo(int? ID, string Name, DateTime? fooDate)
对于更面向对象的方法,您可以改为使用:
public Foo GetFoo(Foo foo)
在这种情况下,代码从 POCO 对象中获取它需要的内容,Foo
而不是依赖于从 UI 传入的一组特定参数。
一方面,这在 UI 和 WCF 服务之间提供了更灵活的契约。我们可以在不违反任何合同和更新引用的情况下对服务端的实现进行更改。此外,我们可以让业务对象直接作用于 POCO,而不是处理显式的参数列表。
另一方面,尚不清楚需要什么才能获取您想要的对象/数据。
哪种方法被认为是最佳实践?