2017-10-17 16 views

Répondre

2

Abstract Factory a une responsabilité unique, fournissant un contrat pour la création d'objets polymorphes sans lier l'interface à une implémentation spécifique. En d'autres termes, le contrat est de sa responsabilité de ne pas faire les objets. Le SRP s'applique à chaque classe, l'Usine abstraite n'est qu'une seule fois dans le modèle, chaque usine de béton a une responsabilité différente mais similaire. Ne pensez pas à une responsabilité en tant que fonction unique, cela pourrait être un composé.

0

Lors du calcul des responsabilités, le «truc» consiste à déterminer ce qui constitue une responsabilité. Lorsque vous pensez au "nombre de créations d'objets", une usine complexe peut effectuer un certain nombre de tâches. Mais même lorsque le résultat est un graphe d'objets assez complexe, la responsabilité de l'usine est de créer ce graphe. Une séquence d'étapes monstrueuse peut être décomposée en parties et sous-composants pour faciliter les tests, par exemple, mais à la fin quelqu'un doit appeler l'initialiseur/constructeur avec les arguments et les dépendances nécessaires pour le configurer. . C'est la responsabilité de l'usine elle-même.