状态模式 - 内容简介

本章主要介绍状态模式。状态模式使用组合+委托的方式,调用被委托的对象提供服务。区别于策略方法,状态模式重点关注不同状态之间的切换,在某一个时刻,由其中的一个状态对象来接管主类提供服务,而对于策略方法而言,被委托的对象只是为主类提供的服务提供支持,其并不能替代主类完全自主提供服务。

状态模式和策略模式都是使用组合来提供服务的设计模式,在大类上属于提供服务的设计模式。如果一个对象的行为具有这种状态特异性(对于不同情境下的反应均不相同),采用状态模式,反之,如果对象行为稳定,变化仅仅在于小范围之内,则使用策略模式来发挥组合+委托的威力。除此之外,还可选用工厂方法或者模板方法,将行为分层处理,或者集中管理对象的构造,使用“交给子类”模式来提供服务。

最后更新于 2018-12-01 查看笔记