1

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

  1. 介绍
  2. 商业
  3. 持久性

这意味着业务层的服务(包含业务逻辑)应该只访问持久层提供的服务。

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

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

4

1 回答 1

0

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

于 2011-09-19T16:23:09.127 回答