答案很短……因为模型驱动通常与代码生成相关,并且代码易碎;我们需要的是消除代码和模型驱动,这肯定是可行的方法。
一些人驳回了这个问题,认为没有金锤子,软件开发本质上是复杂的。
我完全同意他们的观点,即没有金锤,但我不认为模型驱动是追求金锤或银弹!
我想更加复杂些。有两种复杂性,我称之为有机或自然复杂性,这是业务及其流程固有的复杂性,但我们也具有礼仪性的复杂性。
复杂性日复一日地逐步渗透到系统指令中。礼仪复杂性-不必要的复杂性-实质上是由于技术代码与面向业务代码的不受控制的篡改而产生的,而且还源于系统缺乏结构和统一性。
今天,困扰信息系统发展并导致故障和腰部的整个复杂性是礼仪性的复杂性。可以消除的复杂性。
礼仪的复杂性是浪费,代码造成的浪费,价值减少,变更不利,代码不变;必须减少到最低限度的代码。
怎么做?简单!首先,不要编写它,也不要生成它!
必要的不变技术规范;用于读取/写入,显示,通信的代码…通过描述数据的逻辑结构,模型就可以进入其中-我将以一种相关的方式添加-模型可以实现对标准读取/写入,显示和通信的通用处理数据。
这就像一个操作系统,您不会为使用的每个项目都重写它。因此,需要一种技术引擎来处理给定模型的软件的不变方面。我称其为AaaS(架构即服务)引擎。
至于不必要的代码,那是不必要的代码,因此最好不要编写。
这给我们留下了必须编写的,面向业务的代码,应设计的必需的面向业务的数据以及应设计和想象的必要的用户界面和经验。
通过消除脆弱的代码,我们可以将体系结构即服务作为软件开发的新范例,而更多的是基于建模和设计,而不是基于代码。