1

我有一个带有表示层和业务层的 Web 应用程序作为单独的项目。一个是 Web 应用程序,另一个是类库。我添加了对 Web 应用程序的 Web 引用以使用 Web 服务。我在使用服务 API 时没有遇到任何问题,但我发现自己在我的表示层中添加了很多业务层类型逻辑来利用这个 API。如果我可以更改我的一些业务层代码以使用 Web 服务,我会很高兴的,但是这样的配置听起来像是一个大循环,不。无论如何,我希望我的对象能够继续做他们正在做的事情,但它也可以与 web 服务一起使用,但我发现自己必须在我的表示层中创建一个 helper/manager 类来使用 web -服务。这导致我在对要通过服务添加的对象执行操作的任何地方都需要更改代码。解决这个问题的正确方法是什么?

我什至不确定在所有漫无边际的任何地方都有一个合理的问题,但如果有人能提供任何有用的话,我将不胜感激。

谢谢!!

4

3 回答 3

1

我解决这个问题的方法是创造一些达到这种效果的东西:

  • 数据访问层
  • 业务逻辑层
  • 服务层(没有任何业务逻辑,只是一个接口)


  • 服务访问层(没有任何业务逻辑或表示逻辑)

  • 表示层(MVC、表示逻辑等...)

您现在可以更改没有业务逻辑的服务层,而不会影响您的业务逻辑。您在客户端的服务访问层也可以保护您免受服务接口的更改。

于 2011-06-13T18:48:55.390 回答
0

如果您的服务层仅公开类似服务的方法(例如像 SaveInvoice(InvoiceDTO) 这样的简单 CRUD 方法),那么在大多数情况下您应该没问题。但是,我们可以使用您这边的一些代码。

构建服务层的方法有很多,有状态的,无状态的等等,所以试着解释一下你在演示中得到了什么重复

于 2011-06-13T18:45:28.473 回答
0

也许您应该让您的服务也封装业务逻辑?这样,您的表示层将只访问服务 - 服务将访问业务逻辑层。

于 2011-06-13T18:48:24.180 回答