软设模式之状态模式

设计模式中状态模式的意图是:允许一个对象在其内部状态被改变时改变它的行为

打个比方,在一款即时战略游戏中设计一辆坦克,坦克有普通攻击状态,还有一防空状态。通过设计一个坦克抽象父类,再在下面设计一个具体坦克子类,子类下面有一个普通攻击状态子类,一个防空状态子类,通过调动这些状态类实现状态转换

Context:情景类,定义客户应用程序有兴趣的接口,维护一个Concrete state子类的对象

state:抽象状态类,定义一个接口用来封装与Context的一个特别状态相关的行为

Concrete State:具体状态类,每一个具体状态类实现一个Context的状态相关的行为

相关推荐
花开富贵ii8 分钟前
代码随想录算法训练营二十八天|动态规划part01
java·数据结构·算法·leetcode·动态规划
啊阿狸不会拉杆8 分钟前
《Java 程序设计》第 7 章 - 继承与多态
java·开发语言·jvm·算法·intellij-idea
liux352812 分钟前
从零构建:Jenkins与Kubernetes集成的完整指南
java·kubernetes·jenkins
神仙别闹29 分钟前
基于QT(C++)实现(图形界面)选课管理系统
java·c++·qt
daixin884830 分钟前
SpringMVC的请求执行流程是什么样的?
java·开发语言·spring
pengzhuofan39 分钟前
Web开发系列-第9章 SpringBootWeb登录认证
java·spring boot·后端·web
手握风云-1 小时前
JavaEE初阶第十二期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(十)
java·开发语言·java-ee
盖世英雄酱581361 小时前
加了锁,加了事务 还是重复报名❓
java·数据库·后端
Pigwantofly1 小时前
SpringAI入门及浅实践,实战 Spring‎ AI 调用大模型、提示词工程、对话记忆、Adv‎isor 的使用
java·大数据·人工智能·spring
awonw2 小时前
[python][flask]Flask-Principal 使用详解
开发语言·python·flask