业务层对表现层提供的服务应该是Application Service

     业务层对表现层提供的服务应该是Application Service,而不是Business Service

     以博客为例, 有一个Business Service可能是 getPostById(),即ID找到某篇文章;而它对应的App Service则应该是 visitPostById()。两者看上去没什么区别,但实际上 visit post比起简单的 get post 可能要复杂一些,比如验证、授权、增加博客访问次数等,如果直接将getPostById()方法提供给表现层,那么刚才提到的附加工作就要交给表现层来做,这无疑将加重表现层的代码重复,减弱业务层的代码重用。 因此,App Serivce 和 Biz Service应该区分为不同的模块。

 

     这也是 Application Service 模式(Core J2EE Patterns)的要求。Application Service 是直接跟 use-case一致的服务接口,而Business Service则要稍微通用一些

  

   

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.