0
点赞
收藏
分享

微信扫一扫

Java设计模式 ->状态模式


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


    状态模式允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。
    状态模式核心在于 状态与行为绑定,不同的状态对应不同的行为


状态模式应用场景


1、行为随状态改变而改变的场景
2、一个操作中含有庞大的分支结构,并且这些分支取决于对象的状态。


状态模式的优缺点


优点:

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

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

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

缺点:

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

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


状态模式源码应用


1、JSF 中的  Lifecycle 
ps:状态模式具体应用在源码中非常少见




举报

相关推荐

0 条评论