
决策树,状态机等模型的本质意义。
发布日期:2021-05-20 06:50:35
浏览次数:18
分类:精选文章
本文共 577 字,大约阅读时间需要 1 分钟。
有关状态机等模型,请参考此博客:
模型的本质意义是为了模式化逻辑,使得复杂问题简单化,同时尽可能实现代码复用以及尽可能高的可扩展性。根据"敏捷开发原则",因此如果你用上这些模型之后逻辑不畅请换个模型,其次不要跟一个模型较真,模型具有局限性,当遇到有局限性部分的模型,当场隔离出来换个模型并将他们组合起来发挥作用。
其次,代码的本质就是条件和动作。无论什么模型都可以做成并行的一连串的if语句,甚至都不用进行if嵌套。我们只要将一个动作发生的全部条件(包括先后条件等)统统写入if语句中,然后在里面写上要执行的动作即可。这样的话我们要写"组合"数量的if语句(不考虑先后条件),或者"排列"数量的if语句(考虑先后条件)。显然这种写法可扩展性几乎为0,冗杂度极高,执行效率极低。然而,当明确了总状态之后,我们就可以按照排列组合罗列if语句。这就意味着,无论先后顺序如何,只要明确各自的条件,都可以单独处理。并不需要深入思考各个条件之间的互相影响,这样可以避免模型局限性的问题,确保逻辑的清晰性。
这种写法虽然效率低下,但有其独特的优势。对于逻辑能力不太强的开发人员来说,这或许是一种不错的选择。毕竟,计算机底层的处理方式也是如此——CPU本身并不是一个聪明的逻辑处理器,它通过机械地检查每一个条件是否满足来执行指令。这种方法虽然简单,但实现的效果却很可靠。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月22日 23时49分19秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
selenium+python之切换窗口
2019-03-07
重载和重写的区别:
2019-03-07
搭建Vue项目步骤
2019-03-07
账号转账演示事务
2019-03-07
SpringBoot找不到@EnableRety注解
2019-03-07
简易计算器案例
2019-03-07
在Vue中使用样式——使用内联样式
2019-03-07
Explore Optimization
2019-03-07
map[]和map.at()取值之间的区别
2019-03-08
【SQLI-Lab】靶场搭建
2019-03-08
【Bootstrap5】精细学习记录
2019-03-08
Struts2-从值栈获取list集合数据(三种方式)
2019-03-08
参考图像
2019-03-09
设计模式(18)——中介者模式
2019-03-09
推荐几篇近期必看的视觉综述,含GAN、Transformer、人脸超分辨、遥感等
2019-03-09
【专题3:电子工程师 之 上位机】 之 【46.QT音频接口】
2019-03-09
一文理解设计模式--命令模式(Command)
2019-03-09