一个软件项目,它的所有功能,组合在一起的形状,像一颗树。
架构是树干,模块是树叉,模块的功能是树枝。
做项目,先搭架构,也就是树干,毋庸置疑。
在树叉和树枝的实现上,就要认真评估:
是先把树叉都实现,再做所有树叉的树枝;
还是做完一个树叉,接着做这个树叉的全部树枝,然后做下一个树叉。。如此往复;
或者做完一个树叉,接着做这个树叉的部分树枝,然后做下一个树叉。。如此往复;
。。。。
不同的做法,功能的实现顺序就不同。
有点类似数据结构里,多叉树的深度查找和广度查找。。
选择哪种做法,要看项目实际。要看具体的业务需求,要看每个功能的紧迫程度、对整体项目的影响、项目的短期目标和长远目标,等等等等,方方面面都需要一个综合的考量。
宗泽问岳飞,何谓兵法? 岳飞云:阵而后战,兵法之常,运用之妙,存乎一心。
这个存乎一心,就是针对当前各方面形势,做一个综合考量。
如何考量,就需要各方面的知识储备,因人而异,非语言所能描述了。