状态模式

昨天回来,翻看书,就看到了状态模式

话题是有小菜加班引起,很自然小菜按他一天的不同时段来划分他的不同状态

不同的状态自然产生不同的行为

大鸟让小菜写出第一版,小菜习惯性的用面向过程的思考写出代码

这也是不经常用面向对象的人的第一反应,也是很多人正常的,很正向的思维

也正是有了这第一种实现方式,才有可能对这样的好坏作评价和好的改进

若是没有这些代码,第一步都没有,改也就无从谈起

这就在教我们大家一种思考模式,方向,顺序,或者叫套路

叫什么套路呢,遇到问题先按正常的思维去思考一种解决方案

有了这个解决方案,在这个基础上去思考

要是有新的需要会有什么样的改动,怎么去避免最小的改动

这就是第二步,提炼优化已有的代码,让代码更好的面向对象

职责单一,开闭原则,最高目标就是面向需要变化时,可以做最小的改动

小菜的思维很正常,针对于不同的时间段,状态不一样

他自然会想到,上午九点到十二点 是什么样的状态

下午是什么状态,晚上又是什么状态

这怎么转换成代码呢,什么都不用改

只需要用最直接的方式去照搬出这些就行了,说明一个问题

人的大脑结构,在进行选择时,如果没有思考时,会自动选择最简单,最快的方式

但这种方式,并不一定是最优的,当然这也和每个人的经历有关

可能有的人,面对同样的情况直接就是面向对象的思考方式,所以才需要先学习这些模式,来培养面向对象的思维方式

那么由小菜加班,引出的设计模式,也是面面向对象优化的方式,总结出来的好的方式

当然这有好就有坏,要选择恰当的来用

那么小菜学的状态模式到底什么样呢?

原文地址:https://www.cnblogs.com/gdnyfcuso/p/6843695.html