写在前面
设计模式,其实在一定程度上代表着最优解,最佳实践,由一部分开发人员根据经验总结而出的解决方案,分别针对不同的场景的最优解决方案。
在当前环境下,设计模式也被开发人员极为推崇,并且利用其解决众多的问题,所以,学习设计模式刻不容缓。
下面我们就来看一下“状态模式”。
状态模式也是属于行为型设计模式的一种,其最主要的作用就是提供了一种可以由开发者通过改变对象实例的状态,进而能自行改变对象实例的相关功能逻辑的解决方案。
使用场景
状态模式的使用场景,主要还是针对多逻辑,或者是过多的if条件等的情况,可以使用一个对象来封装过多的条件,并且设置一些状态来控制多逻辑间的切换问题。
优缺点
状态模式的优点就是封装过多的逻辑业务,一定程度上减少了重复代码的编写,也保证了对象状态和对象的执行逻辑一体化。
缺点就是状态模式的使用势必会增加更多的类和对象,在程序开发的过程中,会使系统本身变得更加复杂。
还有一点就是状态模式对开闭原则的支持并不是很好,而且我们在封装逻辑时,也要尽量避免逻辑的过多。