分离Logic和Control
Logic
用于解决实际问题。
Control
用什么策略解决问题。影响解决问题的效率。
- 如调整顺序(自上而下、自下而上、并行)?
可以标准化:增删改查数据、多线程、并发、异步……通过标准化接口/协议,让其适配Logic
对于同一个Logic(解决同一个问题),可以使用不同的Control。
有效分离Logic、Control、Data是写出好程序的关键。
很多程序复杂混乱的根本原因是:业务逻辑和控制逻辑的耦合。
Logic是程序复杂度的下限,为了控制程序需要增加很多Control。二者相互交织构成最终的程序复杂度。
如何分离?
使用一些技术:状态机、领域特定语言(DSL)、正则表达式、面向对象、函数式编程、逻辑推导式编程……
总结
Logic表达What,Control影响Logic部分的效率。
网友评论