2017-05-07 2 views
1

Je lis et j'apprends comment un projet d'application pourrait être mieux conçu en suivant les principes SOLID et CRAP. Je suis assez à l'aise pour comprendre les principes du CRAP. Cependant, en cherchant, je suis tombé sur le concept de l'architecture de l'oignon et j'ai de la difficulté à comprendre les deux concepts de design et les différences/similarités entre les deux, le cas échéant?Est-ce que l'architecture Onion inclut les principes SOLID?

Est-ce qu'un projet architecturé par Oignon inclura le (s) principe (s) SOLID? Est-ce qu'une approche est corrélée à l'autre?

+0

De l'oncle bob lui-même https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html – Nkosi

Répondre

2

L'architecture Onion est complémentaire aux principes SOLID; C'est parce que les principes SOLID sont axés sur la conception plutôt que sur l'architecture. En d'autres termes, l'architecture Onion se concentre sur le regroupement de classes liées (par fonction) en couches, où les classes des couches supérieures dépendent des classes des couches inférieures. La couche inférieure (ou couche de base) est les classes de domaine (les classes qui ne changent pas fréquemment) et les couches externes sont l'interface utilisateur, l'infrastructure, etc. (c'est-à-dire les classes qui changent le plus souvent)

SOLID se concentre sur classes et comment ils sont conçus. Le principe de responsabilité unique montre comment les classes devraient être construites en fonction des méthodes qu'elles mettent en œuvre devraient s'articuler autour d'une responsabilité. Les principes ouverts/fermés montrent comment les classes doivent être conçues de telle sorte que l'évolution des exigences entraîne une extension ou un ajout au code existant plutôt que de modifier le code existant. Les autres principes de SOLID sont similaires.