在继续“四维架构设计方法论”这个话题之前,我们先来回顾一下前两篇文章的内容,以便我们更好地理解本篇:
- 如何建立架构师的立体化思维:阐述了架构设计会涉及业务、技术、系统和时间等几个维度,也建议从技术维度将应用分成七个层次。
- 如何设计分层架构和交互接口:介绍了分层架构的设计流程,以及接口设计方法等内容,还谈了领域、资源和数据三种模型的差别等。
接下来,我们来看看接口的分类方法和模块的设计方法:
接口类型的分类方法
如何确定图形用户接口(GUI)和应用编程接口(API)的分工呢?在收集业务需求的过程中,我们可以标识出发起这个需求的角色是人还是程序。如果发起需求的是人,那就需要通过GUI来满足,而如果发起需求的是程序,那就要通过API来满足。
图8 接口类型的分类方法
模块的设计方法
架构设计流程第三步,按照功能相近的原则将接口划归到不同的模块当中。划分模块就会涉及到业务拆分。跟分层第一刀位置一样,我们选择业务层和领域层的交界处来做业务拆分。业务拆分需要跟业务专家一起来完成,通过这个过程可以确定出Y轴包含哪些业务系统,而这些业务系统的公用模块或系统将会被划分到业务层X2、领域层X4当中。
在做完第一轮业务拆分之后,我们就可以进入设计阶段,确定业务的交互流程,进一步明确业务层X2、领域层X4。然后并行启动交互设计和建模,其中交互设计是为了确定交互层X1和业务层X2,而建模是为了明确领域层X4、X5以及资源层X6。设计和业务拆分可以迭代多次,直至可以进入下个阶段:模块设计及数据存储设计。
根据业务设计的结果,我们可以进行模块设计,明确X1到X6等层的模块组成。而建模的结果可以用于数据存储设计,明确X1、X3、X6、X7这些层次的模块划分。模块设计和数据存储设计可以互相推动。当上述设计都完成之后,就可以进入网络部署规划,最后就可以做人员机器规划,进入实施阶段。随着实施深入,发现问题后及时重新迭代整个过程。
图9 模块的设计方法
上述就老兵哥学习“四维架构设计方法论”的心得体会,当然理论是偏抽象的,要想真正掌握它还必须要在工作中实践它,欢迎小伙伴们找我交流讨论。原创不易,请不吝点个 「赞」,我还会持续分享职业规划、应聘面试、技能提升、影响力打造等经验,关注 「 IT老兵哥 」,赋能程序人生!