2011-06-13 55 views
1

我有一个带有表示层和业务层的Web应用程序作为单个项目。一个是Web应用程序,另一个是类库。我已经添加了一个Web应用程序的Web引用来使用Web服务。我没有使用服务API的麻烦,但我发现自己在我的表示层中添加了很多业务层类型逻辑来利用这个API。如果我可以更改一些业务层代码来使用Web服务,我会很喜欢它,但是这种声音的配置就像是一个大通告,不是。无论如何,我希望我的对象能够继续做他们正在做的事情,但是它也可以使用Web服务,但是我发现自己不得不在我的表示层中创建一个帮助器/管理器类以使用Web -服务。这使我需要在我想对服务添加的对象执行操作时对代码进行更改。攻击这个问题的正确方法是什么?将依赖于Web引用的业务逻辑从表示层分离出来

我甚至不确定在所有漫无目的的任何地方都有合法的问题,但如果任何人可以提供任何有用的话我会非常感激。

谢谢!

+0

听起来好像我需要查看在.net Web应用程序中实现服务层的正确方法。我目前只是在Web应用程序中添加一个Web引用,并在我对业务层的调用旁边访问服务API。我希望能够从我的业务层使用Web服务,以避免在整个应用程序中添加相同的代码。 – spaghetticowboy 2011-06-13 19:07:07

回答

1

,我走近这个问题的方法是创建一些这种效果:

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


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

  • 表示层(MVC,表示逻辑等)

你的服务层是没有商业逻辑的,现在可以在不影响你的业务逻辑改变。客户端的服务访问层也可以避免服务接口中的更改。

0

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

有建筑服务层,有状态的真的很多方面,不-有状态等等等等,所以尽量解释您在演示文稿中得到什么重复

0

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