状态者模式

一、概念 状态模式是一种较为复杂的行为型设计模式,它用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。当系统的某个对象存在多个状态时,这些状态可以互相转换,而且对象在不同的状态下行为也不相同。 很多时候状态切换表示会用if-else 或者switch 来表示状态,这会导致代码的可维护性和灵活度下降,当出现新的状态时,需要修改客户端代码,不符合开闭原则。状态模式将对象的状态分离,封装到专
状态者模式

观察者模式

一、概念 观察者模式是使用频率较高的设计模式之一,它用于建立一种对象与对象之间的依赖关系,当一个对象发生改变时将自动通知其他对象,其他对象将做出相应的反应。在观察者模式中发生改变的对象称为观察目标,而被通知的对象成为观察者,一个观察者目标可以对应多个观察者。 定义:定义对象之间的一种一对多的依赖关系,使得每当一个对象状态发生改变时其相关依赖对象皆得到通知并自动更新。 二、模式结构 Subject(
观察者模式

职责链模式

一、概念 在系统中如果存在多个对象可以处理同一请求,则可以通过职责链模式将这些处理请求的对象连成一条链,让请求沿着该链进行传递。如果链上的对象可以处理该请求则进行处理,否则将请求转发给下家进行处理。 定义:避免将一个请求的发送者与接收者耦合在一起。让多个对象都有机会处理请求。将接收请求的对象连接成一条链,并沿着这条链传递请求,直到有一个对象能够处理它为止。 二、模式结构 Handler(抽象处理者
职责链模式

命令模式

一、概述 最近接触公司一个模块,是公司的首战模块.它其中用的就是命令模式,通过读表创建一个命令队列,然后依次执行.之前没有了解过,一直不知道这个模块是什么内容,最近灵光一现,才发现原来是命令模式.所以写篇博客记录一下. 命令模式是一种常用的行为型设计模式,它将请求发送者与请求接收者解耦.请求发送者通过命令对象来间接引用接收者.使用系统具有更好灵活性,再可以不修改现有系统源代码的情况下让相同的发送者
命令模式