【问题标题】:Can MVC (or MVP) co-exist with SOA?MVC(或 MVP)可以与 SOA 共存吗?
【发布时间】:2017-12-03 05:17:07
【问题描述】:

我认为在使用 MVC 或 MVP 设计模式时,业务逻辑应该存在于模型中,但在面向服务的架构中应该隐藏在服务后面。

软件系统能否在面向服务的架构中使用 MVC 或 MVP 设计模式?如果是这样,模型在哪里?

【问题讨论】:

    标签: model-view-controller architecture mvp soa


    【解决方案1】:

    它们是完全不同的动物。 MVC 是关于数据的呈现、控制用户对话框的导航以及构建数据模型的一些业务逻辑。

    SOA 是关于从服务提供商处检索数据。

    在客户端,您可以在 MVC 模式的模型部分中使用 SOA,以使用来自 SOA 服务的数据构建模型。

    在服务端,由于没有演示和用户对话,大多数 MVC 模式变得多余。此外,良好的 SOA 设计应该专注于提供有用的服务,而不考虑底层数据存储,因此“模型”部分在很大程度上变得很偶然。

    确实,许多服务都是“有状态的”(例如,订单经过验证、付款、发送然后接收),但这些状态是业务逻辑的组成部分,不适合典型的会话管理MVC 模式。

    【讨论】:

      【解决方案2】:

      好问题。 我认为 MVC 和 SOA 将并且必须共存。 MVC 是用户与系统通信最成功的架构。 SOA 是一种用于有效系统-系统通信的架构。在大多数组织中,两者都有一席之地。因此,我相信它们会共存。

      就它们之间的交互方式而言,我个人的看法是 - MVC 将继续作为核心架构模式(一旦 SOA 炒作消失),模型和控制器都会在适当的情况下公开服务接口。

      【讨论】:

        猜你喜欢
        • 2017-01-28
        • 2014-12-20
        • 2015-05-05
        • 2017-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-15
        相关资源
        最近更新 更多