分层架构中的常见服务

时间:2011-09-19 14:51:06

标签: hibernate java-ee business-logic-layer enterprise-architect

我在很多书中读过,在分层架构中,一个层应该只使用它下面的层提供的服务。企业应用程序中常用的层是:

  1. 演示
  2. 商业
  3. 持久性
  4. 这意味着业务层(包含业务逻辑)的服务应该只访问持久层提供的服务。

    我有一个MessageService,可以向用户发送消息。只要对象的状态发生重大变化,就必须通知所有关联用户有关更改的信息。这意味着标识更改的业务层服务必须使用MessageService发送消息。但是messageService本身就在业务层,因此同一层的其他服务不应该访问它。

    那么我们如何在不违反代码架构的情况下使用MessageService呢?

1 个答案:

答案 0 :(得分:0)

表示层(或顶层)并不仅仅意味着UI,它可以是消耗系统中的服务的任何东西。即,计划作业可以位于顶层(可能您不希望将其命名为表示层)。在您的情况下,我觉得MessageService应该处于顶层,因为它消耗系统中的其他服务。例如,如果您编写Web服务,它应该位于服务层之上,但您可能希望它的名称不同。