设计模式—“状态变化”

news/2024/12/4 4:02:05/

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

典型模式有:Memento、State

一、State

动机

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

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

模式定义

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

​ ——《设计模式》GoF

结构

在这里插入图片描述

  • Context (环境)

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


http://www.ppmy.cn/news/467923.html

相关文章

电磁铁和永久性磁铁有哪些相同点和不同点

电磁铁和*久性磁铁的相同点是都能产生磁场。二者不同点如下:电磁铁是通电产生电磁的一种装置。在铁芯的外部缠绕与其功率相匹配的导电绕组,这种通有电流的线圈像磁铁一样具有磁性,它也叫做电磁铁(electromagnet)。 为…

高压滑环与低压滑环的技术区别有哪些

在之前小编撰写的文章当中,我们为广大的读者朋友们详细的介绍了滑环在人们日常的生活和生产过程中起到的巨大作用。我们都知道,在旋转装置的能量和信号传输方面,现如今绝对没有比滑环更加适合的装置,当然电刷也算的上一个不错的选…

永磁同步电机工作原理

一、PMSM的基本的构造 PMSM(permanent magnet synchronous motor

派克有铁芯无铁芯直线电机区别及应用

什么是直线电机? 简单来说,直线电机就是一个展开的旋转伺服电机。负载直接和动子或转子链接直线电机特点 高速 – 最高可达 10 m/s,平均值3 m/s. 高精度 – 微米(亚微米级)级定位精度. 高响应 刚性- 比一般机械系统加速…

同步和异步的区别

同步和异步的区别 博主的学习记录 Docker汇总Redis汇总Vue汇总MyBatis Plus汇总微服务汇总Java网络编程汇总Java设计模式汇总Java并发编程汇总消息中间件汇总 原文地址 同步和异步,区别(已经不存在了)。 同步 所有的操作都做完,才返回给用户。这样…

永磁同步电机凸极和隐极之间的区别

以前对于永磁同步电机的凸极和隐极之间的区别仅停留在 Ld 与 Lq 之间是否相等的层面,但是为什么 Ld 和 Lq 之间存在区别,还是模模糊糊的。今天重新翻阅相关论文,发现两者之间的区别不仅仅只是电感不同这么简单。相信大家都被表贴、面装、内置…

T和?的区别

Java中的Object、T(泛型)、?区别 因为最近重新看了泛型,又看了些反射,导致我对Object、T(以下代指泛型)、?产生了疑惑。 我们先来试着理解一下Object类,学习Java的应该都知道Object是所有类…

异步电机和永磁同步电机的区别

导读:本期主要介绍一下异步电机和永磁同步电机的区别,后面文章也会开始介绍永磁同步电机相关的控制算法。 需要本文中搭建的仿真模型,关注微信公众号:浅谈电机控制,获取。 一、异步电机介绍 图1异步电机结构图 1、优…