首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单片体系结构与SOA的区别

单片体系结构与SOA的区别
EN

Stack Overflow用户
提问于 2020-01-06 01:40:42
回答 1查看 162关注 0票数 1

我混淆了这两种架构的区别。

通常,Monolithic Architecture是指将应用程序的不同组件组合成单个业务逻辑。

而且,Service Oriented Architecture是指由执行所需功能的离散和松散耦合的软件代理组成的应用程序。

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

所以我的问题是:

  1. Do单片体系结构遵循这两种体系结构之间的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-06 02:00:10

1.单片体系结构是否遵循OOP?

好的就行。是。如果它是过程性的,或者如果它是功能性的,那么它将更像是一个意大利面代码的混乱。在我工作过的所有专业公司中,他们都有面向对象程序( OOP )和MVP之类的框架。在我的经验中,用有问题的产品来支持公司,他们往往是一团糟。如果一个1MB的事情需要扩展,唯一的方法就是扩展整个100 1MB的解决方案。

2.这两种体系结构之间的差异.

面向服务的体系结构,IMO采取的观点是,每个功能都可以是一个API,它的服务导向。面向对象的编程有几个租户,多态的、可重用的、封装的(和抽象的),它是一种编程风格,与过程编程等几乎相反。

当您设计一个服务时,让我们假设它是一个天气应用程序,可以告诉临时工,也可以做预测。您将需要一个抽象的泛型Weather类,使其支持摄氏度和Fahrenheit实现,您可以获得一些多态性,或者添加一个接口来支持不同的位置或高度,并使用听起来像GetTemp这样的抽象通用函数名(通过城市、状态、高度重载函数)将其封装到Weather类中。

在这里,您设计它时考虑了面向服务的思想和一个坚实的OOP程序集。

“一个函数应该有一个责任”和“减少依赖以增加功能的重用”。

对于第二个预测临时值的服务,它会进行一些计算,并且需要时间来计算,所以我们想要隔离它,这样我们就可以独立地扩展它。您可以通过使用不同的项目来做到这一点,而不是相互引用,而是在消息传递技术(SQS、RabbitMQ等)中添加消息传递技术,这样它们就可以松耦合。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59605751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档