Clean Architecture Flashcards
Qu’est ce que permet une bonne architecture ?
Réduire le coût de développement et de maintenance
Qu’est ce qu’empêche les instructions goto ?
De réduire le code en petits blocs réutilisables
Qu’est ce que le The Reuse / Release Equivalence Principle ?
Ne jamais copier coller le code d’un package, toujours l’utiliser via un package manager. Il faut que le package implémente une gestion de versions
Comment un architecte SI reste bon ?
En gardant la main dans le code. Il faut qu’il puisse comprendre les problèmes des développeurs pour faire une bonne conception.
Au niveau des options, que doit faire un architecte ?
Garder le plus d’options ouvertes possibles, ne pas enfermer le SI. Un bon architecte augmente le nombre de décisions non prises.
Quel est le coût que réduit le plus une bonne architecture ?
C’est la maintenance, vient ensuite le développement, et enfin l’opérationnel (puisque c’est pas très couteux d’augmenter les perfs d’un serveur.
Quel est le rapport entre une architecture et l’organisation de l’entreprise ?
Si les développeurs sont indépendants entre eux, il faut viser une architecture micro-services. Si ils communiquent et bossent sur des sujets ensemble, il faut viser du monolithique.
Architecture services vs micro-services ?
Le nombre de services va varier. Peut être mieux de parler d’une architecture en service dans le contexte Repsview…
Quelles sont les couches de la Clean Architecture (du centre vers l’extérieur)
Les entities (models), les Services, les Controllers, Les Tiers (UI, database, framework, devices)..
Quel est le principe de la Clean Architecture ?
Les couches au centre ne doivent pas connaitre les couches extérieur
Qu’est ce que doit surveiller un architecte ?
Le bon moment pour améliorer l’architecture. Il doit voir l’avenir sans trop l’anticiper !
Que doit faire un architecte si une mauvaise décision de SI a été prise (contrainte sur la DB, sur les technos…) ?
Il faut l’ignorer et passer a autre chose !
Quelles sont les illusions sur l’architecture micro-services ?
Les services sont en réalité très couplés entre eux opérationnel est plus lourd.
Qu’est ce qu’un test volatile ?
Un test qui teste une chose qui bouge très fréquemment. Donc il faut souvent modifier les tests.
Quels sont les problèmes de tests volatiles?
Les développeurs vont avoir peur de modifier le code, on va devoir tout le temps changer le code des tests