Java设计模式 ->状态模式

简介: Java设计模式 ->状态模式

状态模式:State Pattern、行为型模式


状态模式允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。


状态模式核心在于 状态与行为绑定,不同的状态对应不同的行为


状态模式应用场景


1、行为随状态改变而改变的场景

2、一个操作中含有庞大的分支结构,并且这些分支取决于对象的状态。


状态模式的优缺点


优点:


1、结构清晰:将状态独立为类,去除过多的 if...else语句,使代码简洁


2、将状态显示化:切换状态时,是以不同的类进行表示,转换目的更加明确


3、状态类职责明确,且具有很强的扩展性。


缺点:


1、类膨胀,如果一个类具备很多状态,则会造成状态类很多


2、对开闭原则支持不是很友好,增加新类需要修改那些负责状态转化的源代码


状态模式源码应用


1、JSF 中的  Lifecycle

ps:状态模式具体应用在源码中非常少见

相关文章
|
3天前
|
设计模式 算法 搜索推荐
Java设计模式之策略模式详解
Java设计模式之策略模式详解
|
3天前
|
设计模式 Java 机器人
Java设计模式之访问者模式详解
Java设计模式之访问者模式详解
|
3天前
|
设计模式 Java 机器人
Java设计模式之状态模式详解
Java设计模式之状态模式详解
|
2天前
|
设计模式 缓存 安全
Java设计模式的单例模式应用场景
Java设计模式的单例模式应用场景
16 4
|
2天前
|
设计模式 缓存 Java
Java设计模式:享元模式实现高效对象共享与内存优化(十一)
Java设计模式:享元模式实现高效对象共享与内存优化(十一)
|
2天前
|
设计模式 监控 安全
设计模式之代理模式(Java)
设计模式之代理模式(Java)
|
2天前
|
设计模式 Java 中间件
深入探索Java设计模式:责任链模式解析与实践
深入探索Java设计模式:责任链模式解析与实践
5 0
|
2天前
|
设计模式 Java 开发者
Java中的设计模式深度解析
Java中的设计模式深度解析
|
2天前
|
设计模式 Java 数据库
Java设计模式:桥接模式实现灵活组合,超越单一继承的设计之道(十)
Java设计模式:桥接模式实现灵活组合,超越单一继承的设计之道(十)
|
2天前
|
设计模式 Java
Java设计模式:外观模式之优雅门面(九)
Java设计模式:外观模式之优雅门面(九)