状态模式:当一个状态在某个环境中发生改变是一些行为就会发生变化
如当我们在工作的环境下,上午、下午和加班的状态都是不一样的,这个时候可以采用状态模式
为什么用状态模式呢?
1.在不用状态模式的情况下
必须在一个方法里面去判断各种状态然后去执行每个状态需要发生的行为
这样做的情况下,当我增加一个状态,比如明天项目要上线,今晚需要一个通宵的状态,这个时候就必须去修改原来的代码,这是违反开放-封闭原则的
并且一个方法里面如果有很多的状态的话这个时候方法会显得很大,对于维护也就出现困难
2.在使用状态模式的情况下
使用状态模式就是把一个状态将要发生的行为抽象出来,然后将这个抽象的状态放到环境当中使用,当工作的状态发生改变时我们只需要实现或者继承这个
抽象的类或者接口,从而达到可扩展性的目的而不必去修改原来的代码!
以后有新的见解在修改
刚工作一年吧,最近才开始看模式,个人见解,如有不对,欢迎留下宝墨!