【发布时间】:2021-06-02 21:43:00
【问题描述】:
我对这些术语有点困惑。 SOA(面向服务的架构)、MVC 和微服务有什么区别?
【问题讨论】:
标签: model-view-controller design-patterns architecture microservices soa
我对这些术语有点困惑。 SOA(面向服务的架构)、MVC 和微服务有什么区别?
【问题讨论】:
标签: model-view-controller design-patterns architecture microservices soa
【讨论】:
SOA 和微服务是两种类型的软件架构。因此,它们的定义很模糊,每个建筑师对它的确切含义都有自己的看法。没有标准机构可以决定特定的软件架构是否属于某个类别。
微服务可能是面向服务的,因此虽然这两个术语的含义并不完全相同,但在实践中可能会有很大的重叠。
与这两种架构风格相反,模型视图控制器(MVC)是一种设计模式,是一种更具体的描述。架构风格试图描述系统的大型组件如何交互,而设计模式则描述了一小段源代码的组织方式。
设计模式往往被更具体地描述,这可以更容易地确定一段特定的代码是否是模式的示例。即便如此,设计模式名称可能会发生明显的语义漂移,因此与原始定义相比,模式的现代解释可能无法识别。 Repository pattern 可能是最引人注目的例子,但 MVC 可能紧随其后。在我看来,每个自称为“MVC 框架”的应用程序框架对 MVC 的含义都有自己的看法。不同的解释之间似乎没有什么共同点。
【讨论】: