封装和抽象
抽象是提取共性,把核心逻辑和业务逻辑分层处理。
封装是隐藏细节。
抽象
面对复杂的世界, 把问题归类,提取本质的东西, 定义个模型和框架, 用这个模型或者框架来应用于所有的类似场景.
封装
定义边界, 信息隐藏原则. 降低耦合. 可以对过程和数据进行封装.
从而提高系统应对变化的能力,可插拔,等
面向接口编程是一个具体应用.
避免跨级调用
数据流A—>B—>C的流转.
尽量避免跨级通知,否则可能导致时序问题.
比如A节点的数据更新通知到C, C从B节点获取最新的数据.
但是如果B的数据还没来得及更新完成,有可能获取到旧的数据.
解决:
1. 避免跨级数据流转.
2. B节点对更新消息的延迟响应.
延迟响应避免在进程内部做延迟,最好依赖中间件,或者中间系统。否则系统发布或者重启可能导致更新消息和处理的丢失。