【设计篇】系统应该构建与使用分离

构建

  特指系统初始化的代码,创建和重建必备对象的代码、工厂、IOC等;

运行

  在软件系统中,构件与使用是非常不一样的过程,也就是启动和启动之后的运行逻辑不一样;把这两者分开是一个规划良好的系统必备的素养;

  通常,main方法就是启动的起点,也包括容器的启动,见《代码整洁之道》page 144图;

  把启动和使用分离,主要是思想上对依赖的关注,只有在应用中的业务依赖是纯粹的,而构建所产生的依赖则无需过多关注;

  把启动和运行分离,更是代码边界的体现,是建模的体现;

例子:

  • IOC和注入都是构建的过程,我们利用spring在启动时把所有需要构造的模型都造出来了,然后才是开始启动运行,比喻启动引擎;
  • 工厂模式,同样是设计与分离篇,我们要明确,工厂和main应该在构建这边,而创造出来的东西在运行这边;

设计:

  设计代码,是否难以划分包名,范围,领域,模块?先从划分构建与运行吧!一座城市的建设,也要慢慢建设大楼。

原文地址:https://www.cnblogs.com/iCanhua/p/10061955.html