谈谈架构层级的“开闭原则”|manbext体育官网

本文摘要:摘要:本文是关于体系结构级别SOLID原则的文章系列的第一篇文章。

manbext体育官网

摘要:本文是关于体系结构级别SOLID原则的文章系列的第一篇文章。在面向对象级别,您可能熟悉如何遵循SOLID原则开展类设计,或者多次混淆这些原则是否局限于系统的体系结构设计。让我听听我对这一点的看法。(大卫亚设,《Northern Exposure》(美国电视剧),面向对象,面向对象,面向对象)类层面上的开闭原则(the-open-closed-principle,全称OCP原则)一般都有继承和多态。

在体系结构级别,您可以添加功能来容纳完成的代码,而不是更改系统的某些功能(当前最受体系结构限制的流程、城市主流程、服务或微服务)。如果不想更改现有部分,系统几乎需要解决方案耦合。

下一个内容是查看以事件为中心的系统,并使用消息队列在服务之间建立通信。消息队列可以是ActiveMQ、RabbitMQ、ZeroMQ、Kafka或其他服务,我将通过Kafka的语言体系,展开与主题(Topic)、发布者、订阅者、Kafka相似的多个订阅者共享相同主题的能力。第一,消息系统的发布者在主题中发布消息(或事件)后,多个订户可以从主题中获取事件。

箭头命令通信流动。假设发布者和订阅者都是微服务,则2层圆形方形表示特定微服务的多个实例。

在这种情况下,有4个微服务:发布者、用户1、用户2和用户N。每个微服务都有多个实例。其次,推荐明确的例子。

例如,我们在一家汽车租赁公司工作,管理制造车辆的可用性系统。整个租赁过程的修改视图如下:第一阶段,车辆租赁:包括签署租赁合同和选择客户的过程。立即可用的车辆数量减少了一半。

第二阶段,客户用车辆:客户在一段时间内用于租赁的车辆。第三阶段,车辆返还:车辆返还和退房。立即可用的车辆数量特1。第一阶段和第三阶段都需要将租赁合同保存在库存中,因此您可以设计在保留数据时开始的事件。

此事件存储在RentalAgreementSaved主题中。因此,到目前为止,共有两位发布者以CarRental微和CarCheckin微服务为主题发送了信息。下面定义消息的内容。

这个项目的意图是为了密切相关租赁合同的持有,所以比所需信息量更大的是合同ID。但是系统的愿景是跟踪车辆的可用性,最糟糕的是设置Status字段。

此字段可以有两个处于活动状态的值。代表顾客用在车辆上。重新开发状态。

代表顾客已经归还车辆,开始退房。

本文关键词:manbext体育官网

本文来源:manbext体育官网-www.heywir.com

相关文章

网站地图xml地图