Patrons de conception Flashcards
Donnez des types de documentation?
Incode, Doxy-gène, Open API, Tests, Séquence, Class Diagram (BAD)
Quels sont les 3 types de documents dans le modèle C4 (le 4e n’est pas pertinent)?
Contexte, Conteneur et Composante
Vrai ou faux. Pour chaque document de C4 on zoom de plus en plus sur les détails?
Vrai
À quoi sert le diagramme de context dans C4?
Il présente le pourquoi. Il offre un point de vue affaire. Il montre les interactions entre les unités d’affaire
Que contient le diagramme de conteneur dans C4?
Les unités de déploiement (API, webapp admin panel), les technos associées, la description de ce que le conteneur fait et la BD
Que contient le diagramme de composante dans C4?
Interactions dans les modules du code. Documente ce qu’on veut faire dans les interactions. Verbe d’action
Expliquez le modèle OSI.
Il s’agit d’une modèle réseau. Il y a 7 couches partant de la couche physique comme la plus basse jusqu’à la couche applicative (couche de plus haut niveau)
Expliquez le modèle en couches
On retrouve le UI (Vue), Service (Use cases), Domain (règles d’affaire, données), Infrastructure (persistance). Un problème: Domaine dépend de l’infra donc de la technologie.
Expliquez le modèle Ports & Adapter.
Domain est protégé par des ports et des adapters qui exposent un contrat. Le domaine est protégé des interactions et il y a une inversion de la dépendance avec la technologie.
Expliquez le modèle hexagonal.
C’est une adaptation du Ports & Adapter. On retrouve le domaine au centre, la couche applicative autour et la couche UI en dernière couche. Dans la couche applicative, on retrouve notamment les services et l’infrastructure.
Expliquez la clean architecture.
Il s’agit d’une évolution du modèle hexagonal. Le modèle hexagonal est passé au modèle en onion pour ensuite passer à la clean architecture. C’est donc une spécialisation du modèle hexagonal. On retrouve les entités au centre contenant les règles d’affaires et les données, les use cases à l’entour contenant la logique applicative, la présentation les adapters et les gateway (repo) autour pour finir avec avec les driver, les DB et les controllers (vue) en dernier. L’injection se fait toujours vers l’intérieur, c’est-à-dire vers les entités.
Quelle est la différence entre un style et un patron?
Style: Guideline, Macro, 1 à 3 styles au total dans une application et s’applique au système
Patron: Outils, Micro, Plusieurs et s’applique au code
Quelles sont les 4 familles de patrons de conception?
Génération d’objets, Structure du code (réduire le couplage), Comportement, Communication
Qu’est-ce que le Singleton? Donnez un exemple d’utilisation.
Patron qui permet de retrouver la seule instance de l’objet qui existe dans toute l’application. Il peut être utilisé pour un générateur d’ID par exemple.
Qu’est-ce que le Service Locator et quel est son lien avec le Singleton.
Lorsque nous avons plusieurs Singleton au sein d’une application et nous voulons y accéder. Il s’agit donc de localisateur de Singletons.