利点を説明する
MVCをビジネス上のメリットの観点から説明します。あなたのマネージャーはこれを理解することができ、利点が説得力がある場合は参加します。
MVCを使用すると、アプリケーションを適切なユニットに分割できます。各ユニットは、他のユニットとは独立して存在します。クリーンで、保守可能で、テスト可能なコードが得られ、潜在的にシステム間でコードを再利用できます。
モデル
各モデルは、顧客レコードや製品などの単一タイプのビジネス情報を、関連するすべてのビジネスロジックとともにカプセル化します。
これを分離することにより、アプリケーションの他の部分から分離してビジネスロジックを簡単にテストできます。
モデルを追加することでアプリケーションを簡単に拡張することもできます。これは非常にモジュール式でクリーンです。
理論上の各モデルは、他のモデルから独立して存在できます。サービスオブジェクトを使用してモデル間の関係を処理することにより、これを強制することを検討できます。システムの他の部分に影響を与えずにモデルを交換できます。
景色
ビューを分離すると、基盤となるバックエンドを壊さずにフロントエンドを簡単に更新できます。
システム全体へのアクセスを必ずしも許可せずに、フロントエンドコードを別の開発者に提供できます。
また、既存のシステムで動作する代替フロントエンドを自由に作成できます。データをモバイルアプリ、API、PDF、またはExcelスプレッドシートとして表示できます。これは、システムの残りの部分にハッキングすることなく行うことができます。誤って物を壊す可能性は低くなります。フックする既存のシステムの統合ポイントを簡単に作成できます。
コントローラー
コントローラーはモデルをビューに配線します。すべてが分離されます。別のビューで簡単に配線できます。モデルコードを変更する場合、ビューは知る必要さえありません。
その他の利点
これは一般的なパターンです。他の開発者は、コードを理解して作業することができます。数年後にコードに戻ると、おそらくそれを理解して変更を加えることができるでしょう。あなたのコードは、将来の開発者にとってもう一つのレガシーな頭痛の種になる可能性が低くなります。
すべてに場所があるので、きれいなコードを生成するのがはるかに簡単です。スパゲッティ化のリスクは劇的に減少します(排除されません)。コードが保守可能になります。
すべてがモジュール式であるため、その一部を個別にテストできます。コードはテスト可能であり、バグやセキュリティホールを隠蔽する可能性は低くなります。システム全体を簡単にテストできるため、将来のアップグレードははるかに簡単になります。