Expliquez les avantages
J'expliquerais MVC en termes d'avantages commerciaux. Vos managers seront en mesure de comprendre cela et se rallieront si les avantages sont convaincants.
MVC vous permet de décomposer votre application en unités sensibles, dont chacune existe indépendamment des autres. Vous obtenez un code propre, maintenable, testable et potentiellement une réutilisation de code entre les systèmes.
Le modèle
Chaque modèle encapsule un seul type d'informations commerciales, par exemple, un enregistrement client ou un produit, ainsi que toute la logique métier associée.
Cette séparation vous permet de tester facilement votre logique métier indépendamment des autres parties de votre application.
Vous pouvez également facilement étendre l'application en ajoutant des modèles supplémentaires, c'est très modulaire et propre.
Chaque modèle en théorie peut exister indépendamment des autres. Vous pouvez envisager d'appliquer cela en utilisant des objets de service pour gérer les relations entre les modèles. Vous pouvez échanger des modèles sans affecter le reste du système.
La vue
Séparer votre vue vous permet de mettre à jour facilement votre frontal sans casser le backend sous-jacent.
Vous pouvez donner votre code frontal à un autre développeur sans nécessairement lui donner accès à l'ensemble du système.
Vous êtes également libre de créer des frontaux alternatifs qui fonctionnent avec le système existant. Vous pouvez afficher vos données sous forme d'application mobile, d'API, de PDF ou de feuille de calcul Excel. Vous pouvez le faire sans pirater le reste du système. Vous êtes moins susceptible de casser des choses accidentellement. Vous pouvez facilement créer des points d'intégration auxquels les systèmes existants peuvent se connecter.
Le controlle
Le contrôleur connecte les modèles à la vue. Il garde tout séparé. Vous pouvez câbler dans une vue différente très facilement. Si vous modifiez le code de votre modèle, la vue n'a même pas besoin de le savoir.
Autres avantages
C'est un modèle courant. D'autres développeurs pourront comprendre votre code et travailler dessus. Si vous revenez à votre code des années plus tard, vous pourrez probablement le comprendre et apporter des modifications. Votre code sera moins susceptible de devenir un autre casse-tête hérité pour un futur développeur.
Parce que tout a sa place, il est beaucoup plus facile de produire du code propre. Le risque de spaghettification est considérablement réduit (mais pas éliminé). Votre code devient maintenable.
Parce que tout est modulaire, vous pouvez en tester certaines parties isolément. Votre code est testable et moins susceptible de contenir des bogues ou des failles de sécurité. Les futures mises à niveau seront beaucoup plus faciles car vous pourrez tester facilement l'ensemble du système.