概念
模型驱动架构MDA, 全称叫做Model Driven Architecture。
- Model:表示客观事物的抽象表示
- Architecture:表示构成系统的部件,连接件及其约束的规约
- Model Driven: 使用模型完成软件的分析,设计,构建,部署和维护等 开发活动
MDA起源于分离系统规约和平台实现的思想。之前我们在净室软件工程中也提到过这种思想。
意思就是我们开发一个系统,基本上跟那个数学公式一样,我们从始至终都通过证明来证明它的正确性,而不是通过测试来被动发现问题。
所以在净室软件工程这种思想之下,推动了模型驱动架构的思想。
基本思想
我们一开始建立起模型,再一步步把这个模型映射,生成代码就得到我们最终需要的软件系统。
当然,事实证明,纯粹按这种思想完成这种系统的话,有一定的难度,会面临一些困难。比如业务逻辑是绕不开的,但是一部分去使用这个思想是没有问题的。
比如目前的可视化操作就已经在应用了,比如我们的mybatis generator就可以帮我们生成浙这些代码。这些其实就是按照模型映射生成的代码。
再比如我们通过模板语法生成对应的controller,service,mapper和前端代码增删改查这类似的功能,也是我们的模型驱动架构。
其实模型驱动架构可能跟现在的低代码平台思想也有着千丝万缕的联系。