【问题标题】:Service layer is a outer layer or not? If not then it come under which layer?服务层是不是外层?如果不是,那么它属于哪一层?
【发布时间】:2009-12-03 07:42:13
【问题描述】:

服务层是不是外层?如果不是,那么它在哪一层?

请回复

谢谢

【问题讨论】:

    标签: 3-tier


    【解决方案1】:

    您可以通过多种不同的方式组织系统,而不仅仅是一种分层架构。我从来没有使用过“外层”这个词。从逻辑架构、物理架构等多种方式分析同一个系统甚至是合理的......

    如果我们知道您在所讨论的架构中选择了哪些层,我们只能回答您的问题,然后应该可以了解服务所在的位置。您只告诉我们“外层”,我们不知道有什么替代品。

    我通常会考虑表示、业务逻辑和持久性。在这种情况下,服务位于业务逻辑层。

    我会说将服务视为系统的公共接口是很合理的,因此在某种意义上它们位于“外”层。

    为回应评论添加:

    对此没有简单的答案。这完全取决于我们所说的“服务”是什么意思以及我们的层在做什么。让我们举一个具体的例子:假设我们的 UI 想要显示发票的详细信息。我们可能会选择创建服务

    InvoiceDto getInvoiceDetails(int invoiceNumber)
    

    很明显,该服务的实现位于业务逻辑层中。接口可能是一个简单的库,也可能是一个 Web 服务,具体取决于我们在各层之间的通信方式。

    然后我们决定向客户公开该服务,以便他们的应用可以通过互联网调用该服务。我们将在 Web 层中有一些代码可能会公开一个 REST 服务

    http://dave.org/service/invoice/nnnn
    

    显然,在 Web 层中运行了一些适配器代码,我们可以在那里管理身份验证等。但是服务在哪里?只是那个适配器吗?是业务逻辑吗?两者都有吗?

    在我看来,真正的 Service 是在业务层中运行的逻辑,其余的只是管道。

    【讨论】:

    • 我正在使用 3 层架构...而且我有前端,用户登录和第三方验证登录详细信息,它检查数据库中的详细信息。所以在此基础上我想要想知道服务层在哪里?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 2018-12-30
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    相关资源
    最近更新 更多