状态架构只是一种程序设计技巧,事实上,在编程的时候,或多或少都会用到状态架构,只是这个架构是否真的系统化而已!
在编程的过程中,往往针对一个复杂的需求会使用较多的设计手法来简化解决方案!
以我个人经验看来,设计技巧好不好,就得看解决问题的效率与质量来评定!
假设DELAY前面是状态A,后面是状态B
如果说,一个程序打死不用delay的设计,而是用系统时钟来计时,然后来触发,
那么假设原本程序中有大量使用DELAY的设计,若用状态架构,会怎么样?试想一下?
又如果,程序中只用了一个DELAY,那么用状态架构,又会怎么样?
(此处删除几千字...)当然,我认为要让单片机更好的利用状态架构来优化速度
和设计,是可行的,只是需要精心设计一个架构系统,用于承载和规范设计!
这样才能在解决方案的设计效率和重用率以及质量有明显体现!
那么这样一搞,就会有不少人不愿意了,因为单片机毕竟不是电脑,很多人可能也写不上1000行代码!
然后呢,更关键的是,我前面说到的,打死不用DELAY,就算你设计好了状态架构系统来承载!
但由于局限在打死不用DELAY,那么在一定程度上就增加了这个架构的设计负担!这个架构的本质
改变了!
OK,说那么多,其实很简单,这个状态架构的设计思维从一开始就不是用来节省DELAY的!
两者的关系就类似 面向对象编程 与 函数式编程 关系了!
表达能力较差,可能用词不理想,水平有限,纯属交流经验,无任何攻击意思!