簡単な答え...モデル駆動型は多くの場合コード生成に関連しており、コードは脆弱です。必要なのはコードの削除であり、モデル駆動型が確実に進むべき道です。
黄金のハンマーは存在せず、ソフトウェア開発は本質的に複雑であると主張する質問を却下した人もいます。
私は彼らに金色のハンマーがないことに完全に同意しますが、私はモデル駆動型が金色のハンマーまたは銀の弾丸の探求だとは思いません!
複雑さをさらに高めたいと思います。私は有機的または自然の複雑性と呼ばれる2種類の複雑性があります。これはビジネスとそのプロセスに固有の複雑さですが、儀式的な複雑さもあります。
毎日、命令ごとにシステムの命令に忍び込む複雑さ。儀式的な複雑さ-不要な複雑さ-は、ビジネスコードと技術コードの制御されていないマングリングから本質的に発生しますが、システムの構造と均一性の欠如からも発生します。
今日、情報システムの開発に悩まされ、障害と腰を引き起こす複雑さ全体が儀式的な複雑さです。排除できる複雑さ。
儀式の複雑さは、無駄、コードによる無駄、価値の低さ、不利な変更、不変のコードです。厳密な最小値に減らす必要があるコード。
どうやってするか?簡単です!そもそも、それを書いたり、生成したりしないでください!
必要な不変の技術コード。読み取り/書き込み、表示、通信に使用されるコード...それは、データの論理構造を記述することにより、モデルが取得する場所です-リレーショナルな方法で追加します-モデルは、標準の読み取り/書き込み、表示、および通信の一般的な処理を可能にしますデータ。
これはオペレーティングシステムのようなもので、使用するプロジェクトごとに書き換える必要はありません。したがって、必要なのは、モデルが与えられたソフトウェアの不変の側面を処理する技術的なエンジンです。私はそれをAaaS(サービスとしてのアーキテクチャ)エンジンと呼びます。
不要なコードについては、不要なコードであるため、未記述のままにしておくこともできます。
これにより、必要なビジネス指向のコードを作成し、必要なビジネス指向のデータを設計し、必要なユーザーインターフェイスとエクスペリエンスを設計および想像することができます。
脆弱なコードを排除することで、コードよりもモデリングと設計にはるかに基づいたソフトウェア開発の新しいパラダイムであるArchitecture as a Serviceを採用できます。