2026/1/2 18:07:07
网站建设
项目流程
做网站用的图片,液压产品做哪个网站好,网站开发一般用什么语言,传奇官方网站更多内容请见: 《Python3案例和总结》 - 专栏介绍和目录 文章目录 一、状态模式概述 1.1 状态模式的定义 1.2 状态模式的核心思想 1.3 状态模式的结构与角色 1.4 状态模式的优缺点 1.5 与其他模式的区别 1.6 适用场景 二、代码实现 2.1 步骤 1:定义抽象状态 2.2 步骤 2:实现…更多内容请见: 《Python3案例和总结》 - 专栏介绍和目录文章目录一、状态模式概述1.1 状态模式的定义1.2 状态模式的核心思想1.3 状态模式的结构与角色1.4 状态模式的优缺点1.5 与其他模式的区别1.6 适用场景二、代码实现2.1 步骤 1:定义抽象状态2.2 步骤 2:实现具体状态类2.3 步骤 3:定义上下文2.4 步骤 4:客户端调用2.5 执行结果一、状态模式概述想象一下,你正在开发一个在线文档编辑器。这个编辑器有多种状态:草稿、审阅中、已发布。在不同的状态下,用户能执行的操作是完全不同的。在“草稿”状态下,你可以自由编辑;在“审阅中”状态下,你只能查看,不能编辑;在“已发布”状态下,你只能评论,不能修改内容。如果用传统的if-else或switch语句来处理,代码会迅速变成一团难以维护。每增加一个状态或修改一个行为的逻辑,你都需要深入到一个巨大的方法中去修改核心的if-else结构,这违反了开闭原则(对扩展开放,对修改关闭),也让代码的阅读和测试变得异常痛苦。状态模式正是为了解决这类问题而生。它允许一个对象在其内部状态改变时,改变它的行为,对象看起来似乎修改了它的类。1.1 状态模式的定义定义:允许一个对象在其内部状态改变时改变它的行为。这个对象看起来像是改变了它的类。这句话听起来有点绕,我们把它拆解开:“一个对象”:指的是拥有状态的对象,我们称之为上下文。比如,上面例子中的“文档”就是上下文。“内部状态”:指的是对象在某一时刻的具体情况,比如“草稿”、“审阅中”。