zoukankan      html  css  js  c++  java
  • 设计模式--行为型

    设计模式 

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

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

    有些设计模式也是这样。

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

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

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

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

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

    开始工作了:

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

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

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

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

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

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

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

    气功波(18037675651)
  • 相关阅读:
    Spring bean
    spring bean初始化及销毁你必须要掌握的回调方法
    一张图搞懂Spring bean的完整生命周期
    获取Spring的ApplicationContext的几种方式
    你必须了解Spring的生态
    Spring的核心模块解析
    Spring 5.0
    纯分享scp协议如何工作
    我眼中的SAML (Security Assertion Markup Language)
    7z文件格式及其源码的分析(五)
  • 原文地址:https://www.cnblogs.com/qgbo/p/11483681.html
Copyright © 2011-2022 走看看