2016.10.25
组件化架构的由来
随着互联网的不断发展,很多程序代码量和业务越来越多,现有架构已经不适合公司业务的发展速度了,很多都面临着重构的问题。
在公司项目开发中,如果项目比较小,普通的单工程用MVC架构就可以满足大多数需求。但像淘宝、蘑菇街、微信这样的大项目,原有的单工程架构就不足以满足架构需求。
在一个项目越来越大,开发人员越来越多的情况下,项目会遇到很多问题
1.业务模块间划分不清晰,模块之间耦合度很大,非常难维护
2.所有模块代码都编写在一个项目中,测试某个模块或功能,需要编译运行整个项目。
为了解决上面的问题,可以考虑加一个中间层来协调模块间的调用,所偶有的模块间的调用都会经过中间层中转。
添加中间层后,耦合还是存在的。中间层对被调用模块存在耦合,其他模块也需要耦合中间层才能发起调用。这样还是存在之前的相互耦合的问题,而且本质上比之前更麻烦了。
所以应该做的是,只让其他模块对中间层产生耦合关系,中间层不对其他模块发生耦合。
对于这个问题可以采用组件化的架构,将每个模块作为一个组件,并且建立一个主项目,这个主项目负责集成所有组件,这样带来的好处是很多的:
业务划分更清晰,新人接手更容易,可以按组件分配开发任务。
项目可维护性更强,提高开发效率。
更好排查问题,某个组件出现问题,直接对组件进行处理。
开发测试过程中,可以只编译自己那部分代码,不需要编译整个项目代码。
进行组件化开发后,可以把每个组件当做一个独立的app,每个组件甚至可以采用不同的架构,例如分别使用mvvm、mvc、mvcs等架构。
网友评论