如果一个工具仅仅在一两个地方调用,那无所谓封装。如果一个工具通篇各处都在调用,那就一定要封装了,即便这个工具仅仅是一行命令。

核心观点

这也是上面 qemu-img 要封装的一个原因。

如果一个工具仅仅在一两个地方调用了,那无所谓封装。

如果一个工具通篇各处都在调用,那就一定要封装了。即便这个工具仅仅是一行命令。

比如我们的 qemu-img、virsh、sql。

为什么

因为使用频率高,意味着:

  • 出问题的概率高,需要统一处理;
  • 版本升级的影响面大,需要统一应对;
  • 日志、统计、重试等切面能力需要统一提供。

小结

  • 封装不在于使用复杂度,而在于使用频率;
  • 一个工具仅在一两个地方调用,无所谓封装;
  • 一个工具通篇各处都在调用,一定要封装,即便只是一行命令;
  • 使用频率高,出问题概率高、影响面大,需要统一处理。