设计模式(状态模式)
状态机的使用在各类项目中使用都比较多,设计模式中的状态模式是将状态机的维护抽象出来,并由需要支持改状态机的对象维护起来。
本文给出一个简单的例子:
- State
public abstract class State { protected int type; public abstract void handler(int input); public abstract void showState(); }
- ConcreteState
public class ConcreteState extends State { @Override public void handler(int input) { if(1 == input){ this.type = 2; }else if(2 == input){ this.type = 1; }else{ this.type = 1; } } public void showState(){ System.out.println(this.type); } }
- Context
public class Context { private State state; public Context(State state){ this.state = state; } public void handlerState(int input){ state.handler(input); } public void showState(){ state.showState(); } }
- App 测试类
public class App { public static void main(String[] args) { State state = new ConcreteState(); Context context = new Context(state); context.showState();//输出0 context.handlerState(1); context.showState();//输出2 context.handlerState(2); context.showState();//输出1 } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)