您现在的位置是:首页 >学无止境 >设计模式—“状态变化”网站首页学无止境

设计模式—“状态变化”

PaQiuQiu 2024-05-08 17:20:28
简介设计模式—“状态变化”

在组件构建过程中,某些对象的状态经常面临变化,如何对这些变化进行有效的管理?同时又维持高层模块的稳定?"状态变化"模式为这一问题提供了解决方案。

典型模式有:MementoState

一、State

动机

在软件构建过程中,某些对象的状态如果改变,其行为也会随之而发生变化,比如文档处于只读状态,其支持的行为和读写状态支持的行为就可能完全不同。

如何在运行时根据对象的状态来透明地更改对象的行为?而不会为对象操作和状态转化之间引入紧耦合?

模式定义

允许一个对象在其内部状态改变时改变它的行为。从而使对象看起来似乎修改了其行为。

​ ——《设计模式》GoF

结构

在这里插入图片描述

  • Context (环境)

    • 定义客户端感兴趣的接口
    • 维护一个 ConcreteState 子类的实例,这个实例定义当前状态
  • State (状态)

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。