04-项目大了人员多了,架构怎么设计更合理

2019-03-27  本文已影响0人  转岗做JAVA

总体来说,架构是需要一步步演进的,如果项目规模大了还不演进,必然会拖累业务的发展速度。从简单架构往大型项目架构演进中,需要解决三个问题:
1.模块粒度如何划分
2.如何分层
3.多团队如何协作

模块粒度如何划分

模块粒度划分是一个细活,最好可以在不同阶段采用不同的粒度划分模块。模块划分时需要遵循五个原则,即SOLID原则:

如何分层

戴铭老师的建议是最多不要超过三层,可以这么设置:

多团队之间如何分工

一个合理的团队结构应该是这样的:

好的架构是什么样的

在实践中,一般分为了协议式中间者两种架构设计方案(Router的方式缺点比较明显)。
协议式架构主要采用协议式编程的思路:在编译层面使用协议定义规范,实现可在不同地方,从而达到分布管理和维护组件的目的。但缺点也很明显,主要体现在:
1.缺少统一调度,导致难以集中管理。
2.接口定义模式过于规范,导致灵活度不够高。
中间者架构主要采用中间者统一管理的方式,来控制App的整个生命周期中组件间的调用关系。同时组件接口设计也需要保持一致性,方便中间者统一调用。个人感觉中间者架构更好一些。

中间者架构参考:https://github.com/casatwy/CTMediator
戴铭老师在此基础上做了一些优化:https://github.com/ming1016/ArchitectureDemo

上一篇下一篇

猜你喜欢

热点阅读