软设模式之状态模式

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

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

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

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

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

相关推荐
兔头?2 分钟前
使用JDK21新特性虚拟线程时遇到的坑
java
老王爱玩车4 分钟前
预处理详解
c语言·开发语言·学习
灯澜忆梦22 分钟前
【Go Zap 日志库】#1 |快速上手 + 配置详解
开发语言·后端·golang
m0_5873830027 分钟前
无人自助拼豆系统从需求分析到落地部署全流程实战开发指南
java·经验分享·后端·struts·小程序·架构·需求分析
a努力。29 分钟前
四维解析Agent记忆架构:从零实战LangGraph长期记忆
java·开发语言·数据库
碧海银沙音频科技研究院31 分钟前
炬芯ATS308X的扩音器:麦克风到扬声器直通功能实现
java·linux·运维
Rain的Java大神之路37 分钟前
被问麻了!Function Calling、MCP、Skill 到底啥关系?一张图讲透三层架构,附 Java 生产落地全流程+30个坑
java·后端·ai编程
Wang's Blog38 分钟前
Java 项目部署之 Docker工具快速入门: Docker Compose 初识与安装
java·开发语言·docker
niucloud-admin44 分钟前
JAVA V6 多商户商城 开发文档——项目启动
java·开发语言·python
学逆向的1 小时前
C 控制台指令
c语言·开发语言·网络安全