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

一表人才
名片发私信
学术分 0
总主题 4 帖总回复 158 楼拥有证书:笔友
注册于 2013/02/19 23:58:50最后登录 2018/01/10 01:14:50
主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:0

个人简介

暂未填写
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的