• # Pour moi la base : isoler les règles métier

    Posté par (Mastodon) . En réponse au message architectures de code. Évalué à 6. Dernière modification le 22 mars 2022 à 09:11.

    De manière générale, il est de bon ton d'isoler les "règles métier" du reste de l'application.

    • tu fais une application de compta ? Ne mélange pas la gestion des sauvegardes avec le calcul de l'impôt récupéré sur la TVA au titre du quantième restant sur la plus-value amortie.

    • tu fais un serveur web ? MVC t'aidera à mettre de côté la gestion du cœur de l'appli (dans les modèles en général) du déroulé de la connexion/déconnexion de l'utilisateur (dans les contrôleurs en général).

    • tu fais un capteur de température en ESP8266 ? Ne mélange pas la conversion du résultat brut du capteur en °C/°F avec la remontée des données vers ton serveur MQTT.

    Que veut dire "ne mélange pas" ? Selon les cas ce sont simplement des fonctions à part, parfois des "modules" (selon le langage ce sera fichiers, classes...) à part, et même des services à part pour les plus grosses applis.

    Chaque "module" doit avoir un rôle assez précis. Dans une équipe d'une dizaine de développeur, imagine que chaque "module" serait administré par un spécialiste. Si tu es tout seul, à toi de retourner ta casquette chaque fois que tu touches un module pour veiller à ce qu'il n'aille pas se mêler de ce qui ne le regarde pas.

    Un très bon bouquin sur ce sujet est Architecture logicielle propre de Robert C.Martin, que j'ai découvert par ce billet de blog.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.