到底什么是多态呢?多态是面向未来的,比如企业采购为例: 一般分为线上合线下两种, 我们设计一个父类叫做"采购", 里面做一些共通的处理: 申请, 承认, 支付, 购买方式. 然后让各自的子类(线上,线下)实现自己的方法.实际调用过程中传入不同的对象就可以.到此为止项目开发完成.但未来要添加一个租赁, 我们只需要新增一个类就可以.
而如果我们使用判断的方法添加, 增加新的需求就需要增加if -else if -else, 几乎所有需要判断的地方都要增加判断与修改.
通过这里让我想到了公司的产品: 我们公司的产品是监测水利数据的, 然后按一定格式上报给服务器. 虽然整体格式大体相同, 但是各个地方也有略微的差别. 我们公司的业务涉及多个省份, 每个省份实现的都是通过if else格式实现的, 导致每新增一个省份业务, 就需要在需要判断地方添加if else.整个上报逻辑已经越来越多, 程序也越来越臃肿.
程序熵增无法避免, 但是如果一个程序能够设计的合理, 熵增的速度也就会降低, 如果程序的熵增快速递增, 那么程序重构的命运会提前到来.
但是作为写单片机程序, 如果是从零自己垒起来的代码, 我们尽量设计好, 因为新项目意味着需求的不确定性, 减少自己的工作量, 多摸摸鱼才是王道.如果是维护的代码, 按照就的代码格式走就好了, 别重构, 那样累坏的只有自己, 而且吃力不讨好.