一个功能点所需要的数据,可以通过一条 SQL 语句查询。而如果将这个功能点拆分成 5 个功能点,则极有可能需要 5 条 SQL 语句。假如其中还包括循环处理,则 SQL 语句的数量更是难以估量。
例如将功能 X 拆分成包含功能点 A、B。通过 A 得到一个列表(800 个元素),再对列表循环处理,针对每一个 item 调用 B (item),则会产生 800 条 SQL 语句。而功能 X 所需要的数据是可以由一条 SQL 语句完成的。这样会极大的增加执行功能所需要的时间。
这就好比你去超市买东西,假如你今天需要买 10 个商品:
方案一:每次买一个商品回来,总共跑 10 次。
方案二:一次性买到 10 个商品,然后带回来。
你认为哪一种方案,消耗的时间更短。
哪怕是增加 10 倍的时间消耗,也会让用户难以忍受。
而这种细粒度的划分,其根源有时候却是为了复用而复用,即为了增加功能点的复用几率,就得对需要实现的功能拆分得比较细。