我混淆了这两种架构的区别。
通常,Monolithic Architecture是指将应用程序的不同组件组合成单个业务逻辑。
而且,Service Oriented Architecture是指由执行所需功能的离散和松散耦合的软件代理组成的应用程序。
但我了解到,OOP和设计模式的目标是“一个函数应该有一个责任”和“减少依赖以增加功能的重用”。
所以我的问题是:
。
发布于 2020-01-06 02:00:10
1.单片体系结构是否遵循OOP??
好的就行。是。如果它是过程性的,或者如果它是功能性的,那么它将更像是一个意大利面代码的混乱。在我工作过的所有专业公司中,他们都有面向对象程序( OOP )和MVP之类的框架。在我的经验中,用有问题的产品来支持公司,他们往往是一团糟。如果一个1MB的事情需要扩展,唯一的方法就是扩展整个100 1MB的解决方案。
2.这两种体系结构之间的差异.
面向服务的体系结构,IMO采取的观点是,每个功能都可以是一个API,它的服务导向。面向对象的编程有几个租户,多态的、可重用的、封装的(和抽象的),它是一种编程风格,与过程编程等几乎相反。
当您设计一个服务时,让我们假设它是一个天气应用程序,可以告诉临时工,也可以做预测。您将需要一个抽象的泛型Weather类,使其支持摄氏度和Fahrenheit实现,您可以获得一些多态性,或者添加一个接口来支持不同的位置或高度,并使用听起来像GetTemp这样的抽象通用函数名(通过城市、状态、高度重载函数)将其封装到Weather类中。
在这里,您设计它时考虑了面向服务的思想和一个坚实的OOP程序集。
“一个函数应该有一个责任”和“减少依赖以增加功能的重用”。
对于第二个预测临时值的服务,它会进行一些计算,并且需要时间来计算,所以我们想要隔离它,这样我们就可以独立地扩展它。您可以通过使用不同的项目来做到这一点,而不是相互引用,而是在消息传递技术(SQS、RabbitMQ等)中添加消息传递技术,这样它们就可以松耦合。
注意:我们可以简单地将静态GetTemp结果缓存到另一个项目中,以便轻松地扩展系统的这一部分。
https://stackoverflow.com/questions/59605751
复制相似问题