设计模式--行为型

设计模式 

行为行设计模式关注行为的分离。

有时候把一个任务拆分成几个子任务,用以分布式集群。

有些设计模式也是这样。

比如命令模式。最简单的通信是说话,我说了,对方听到回复。

但是如果离得远了,听不清,需要写信。还需要邮递员。这里信就是命令,里面有内容。

在ues case 中,命令有很多种。发送者创建命令(可以带内容),再找一个邮递员,就结束了自己的任务,下面就是邮递员把信给接收者,接收者根据信中的内容执行。

再如state模式,状态转换。一个设备有3个灯(交通灯),它内部负责所有转换和显示逻辑(同时有一个灯亮,每一个灯亮是一种状态)。就相当于,一个任务,有一个人干,这个人,负责这三个灯的切换。

现在这个人升官了,有3个手下。每个人负责一个灯的动作,并且记住他的下一个状态是啥。他记录当前状态(上下文)。

开始工作了:

先让某一个灯亮(初始化状态,上下文)。需要切换状态时,他让当前的负责人,通知下一个,并且把下一个作为负责人(更换状态)

问题;怎么提高或保证程序的可扩展性:

1.首先是对业务的理解,对业务的变更,要有预判。那些是基本不可能变化的,写死。可能变化的留出扩展。

2.扩展的形式:代码级别可以用各种设计模式,设计模式,就是对各种扩展的总结。

                         在模块层面上进行分离,各种分层架构也是为了更好的扩展,微服务也是。

                         扩展就是对一个业务或一个模块拆分。

       各个模块进行解耦,可以用队列。

气功波(18037675651)
原文地址:https://www.cnblogs.com/qgbo/p/11483681.html