Superposition d'applications
1. [Recommandé] Par défaut, la couche supérieure de la figure dépend de la couche inférieure, et la relation en forme de flèche indique qu'elle peut être directement dépendante : par exemple : la couche d'interface ouverte peut dépendre de la couche
Web, ou. cela peut dépendre directement de la couche Service, et ainsi de suite :
Couche d'interface ouverte : L'interface Service peut être directement encapsulée et exposée dans une interface RPC encapsulée dans une interface http via la couche de contrôle de la passerelle Web ; , etc.
- Couche d'affichage du terminal : les modèles de chaque terminal restituent et exécutent la couche d'affichage. Actuellement, les principaux sont le rendu rapide, le rendu JS, le rendu JSP, la couche d'affichage mobile, etc.
- Couche de service : couche de service de logique métier relativement spécifique.
- Couche Manager : une couche de traitement métier générale, qui présente les caractéristiques suivantes :
- 1) Une couche encapsulant les plateformes tierces, prétraitant les résultats de retour et convertissant les informations d'exception ;
2) Capacités générales du Service ; couche Sinking, comme les solutions de mise en cache et le traitement général du middleware ;
3) Interagir avec la couche DAO pour encapsuler les capacités commerciales générales de DAO.
Couche DAO : couche d'accès aux données, qui interagit avec MySQL, Oracle et Hbase sous-jacents pour les données.
Interfaces externes ou plateformes tierces : y compris les interfaces ouvertes RPC d'autres départements, les plateformes de base et les interfaces HTTP d'autres entreprises.
2. [Référence] (Protocole de gestion des exceptions hiérarchiques) Dans la couche DAO, il existe de nombreux types d'exceptions générées, qui ne peuvent pas être interceptées avec des exceptions à granularité fine. Utilisez la méthode catch(Exception e) et lancez une nouvelle DAOException(e). ). Il n'est pas nécessaire d'imprimer les journaux, car les journaux doivent être capturés et écrits dans le fichier journal au niveau de la couche Gestionnaire/Service. Si le même serveur imprime à nouveau les journaux, cela gaspillera les performances et le stockage. Lorsqu'une exception se produit dans la couche Service, les informations du journal doivent être enregistrées sur le disque et les informations sur les paramètres doivent être incluses autant que possible, ce qui équivaut à protéger la scène du crime. Si la couche Manager et le Service sont déployés sur la même machine, la méthode de journalisation est cohérente avec le traitement de la couche DAO. Si elle est déployée séparément, la méthode de journalisation est cohérente avec le Service. La couche Web ne doit jamais continuer à générer des exceptions vers le haut.
Parce qu'elle est déjà au niveau supérieur, il n'y a aucun moyen de continuer à gérer les exceptions. Si vous réalisez que cette exception entraînera un échec de rendu normal de la page, alors. vous devez accéder directement à la page d'erreur conviviale. Essayez d'ajouter des messages d'erreur conviviaux. La couche d'interface ouverte doit renvoyer les exceptions dans les codes d'erreur et les messages d'erreur. 3. [Référence] Spécification du modèle de domaine hiérarchique :
DO (Data Object) : correspond à la structure de la table de la base de données un à un et transmet l'objet source de données vers le haut à travers la couche DAO.
DTO (Data Transfer Object) : Objet de transfert de données, l'objet transféré par le service et le gestionnaire.
BO (Business Object) : Objet métier. Un objet qui encapsule la logique métier qui peut être générée par la couche Service.
QUERY : Objet de requête de données, chaque couche reçoit des requêtes de requête de la couche supérieure. Remarque : Pour l'encapsulation de requêtes avec plus de 2 paramètres, il est interdit d'utiliser la classe Map pour la transmission.
- VO (View Object) : Objet de couche d'affichage, généralement un objet transmis par le Web à la couche du moteur de rendu du modèle.