整体架构与SOA之间的差异

问题描述 投票:0回答:1

我混淆了这两种体系结构的差异。

通常,Monolithic Architecture指的是将应用程序的不同组件组合为一个业务逻辑。并且,Service Oriented Architecture是指由执行所需功能的离散且松散耦合的软件代理组成的应用程序。

但是我了解到,OOP和设计模式的目标是“一个功能应该承担一个责任”和“减少依赖关系以增加功能的重用性。”

所以我的问题是:1.整体架构是否遵循OOP?2.两种体系结构之间的差异。

oop architecture soa monolithic
1个回答
0
投票

1。整体架构遵循OOP吗?

好人。是。如果它是程序性的,那将更像是spagetti代码的混乱,而如果它是功能性的,则更难编写。在我工作过的所有专业公司中,他们都有OOP,并且还合并了MVP之类的框架。根据我为有问题的产品提供支持的公司的经验,它们往往一团糟。如果只需要扩展一个1MB的东西,唯一的办法就是扩展整个100MB的解决方案。

2。这两种架构之间的差异。

面向服务的体系结构IMO认为每个功能都可以是一个API,它是面向服务的。面向对象编程具有一些租户,即多态的,可恢复的,封装的[[(和抽象)

,它的编程风格与过程编程等几乎相反。[在设计服务时,可以说它是一个Weather应用程序,该应用程序可以告诉温度并进行预测。您将需要一个抽象的通用Weather类,使其支持Celsius和Farenheight实现,并且您可以获取一些多态性,或者添加一个Interface以支持不同的位置或海拔高度,并使用听起来像GetTemp这样抽象的真正通用函数名称(通过City,State,Altitude的函数重载)将其封装在Weather类中。

因此,在这里设计时要考虑到服务导向和可靠的OOP组件。

“一个功能应承担一项责任”和“减少依赖关系以增加功能的重用性。”

对于第二项服务来预测温度,它将进行一些计算并花费一些时间来计算,因此我们希望将其隔离,以便我们可以对其进行独立缩放。您可以通过使用不同的项目来做到这一点,而不必在消息传递技术(SQS,RabbitMQ等)中互相引用,而是使它们松散耦合。

注意:我们可以简单地将静态GetTemp结果缓存在另一个项目中,以轻松扩展系统的该部分。

© www.soinside.com 2019 - 2024. All rights reserved.