Questions marquées «design-patterns»

Un modèle de conception est une solution réutilisable générale à un problème courant dans la conception de logiciels.



2
Comment procéder pour tester le code non injectable?
J'ai donc le morceau de code suivant utilisé partout dans mon système. Nous écrivons actuellement des tests unitaires rétrospectivement (mieux vaut tard que jamais mon argument), mais je ne vois pas comment cela serait testable? public function validate($value, Constraint $constraint) { $searchEntity = EmailAlertToSearchAdapter::adapt($value); $queryBuilder = SearcherFactory::getSearchDirector($searchEntity->getKeywords()); $adapter = new …




6
Questionner l'un des arguments pour les frameworks d'injection de dépendances: Pourquoi la création d'un graphe d'objets est-elle difficile?
Les frameworks d'injection de dépendances comme Google Guice donnent la motivation suivante pour leur utilisation ( source ): Pour construire un objet, vous construisez d'abord ses dépendances. Mais pour construire chaque dépendance, vous avez besoin de ses dépendances, etc. Ainsi, lorsque vous créez un objet, vous devez vraiment créer un …


2
Pourquoi séparer la classe CommandHandler avec Handle () au lieu de gérer la méthode dans la commande elle-même
J'ai une partie du modèle CQRS implémentée à l'aide de l' architecture S # arp comme ceci: public class MyCommand { public CustomerId { get; set; } // some other fields } public class MyCommandHandler<MyCommand> : ICommandHandler<MyCommand, CommandResult> { Handle(MyCommand command) { // some code for saving Customer entity return …

4
Rails: Loi de la confusion de Demeter
Je lis un livre intitulé Rails AntiPatterns et ils parlent d'utiliser la délégation pour éviter d'enfreindre la loi de Demeter. Voici leur premier exemple: Ils croient qu'appeler quelque chose comme ça dans le contrôleur est mauvais (et je suis d'accord) @street = @invoice.customer.address.street La solution proposée consiste à procéder comme …

3
Principe d'inversion de la dépendance: comment définir la «politique de haut niveau» et les «détails de bas niveau» pour d'autres personnes?
J'essaie d'expliquer le principe d'inversion de dépendance à mes collègues (pour la plupart juniors). Comment définir laquelle est la «politique de haut niveau» et laquelle est le «détail de bas niveau» dans un logiciel? Par exemple, si notre logiciel automatise le flux de travail de plusieurs applications métier, pourquoi disons-nous …


2
Existe-t-il des flux de travail ou des modèles de conception spécifiques qui sont couramment utilisés pour créer de grandes applications de programmation fonctionnelle? [fermé]
Fermé . Cette question doit être plus ciblée . Il n'accepte pas actuellement les réponses. Voulez-vous améliorer cette question? Mettez à jour la question afin qu'elle se concentre sur un problème uniquement en modifiant ce message . Fermé il y a 4 ans . J'explore Clojure depuis un moment maintenant, …

4
Comment déterminer si Design Pattern est correctement implémenté?
J'ai réussi à mettre à l'échelle toutes mes anciennes applications qui n'utilisaient pas de modèles de conception documentés. Quel que soit le motif, je ne sais pas. Dans une large mesure, je ressentais seulement le besoin d'utiliser des concepts POO simples. Le concept Design Patterns est complexe et difficile à …

3
Recommander un modèle / approche de conception pour exposer / tolérer / récupérer des erreurs système, gestion des exceptions (par exemple en Java, C ++, Perl, PHP)
Pouvez-vous recommander un modèle / une approche de conception pour exposer / tolérer / récupérer des erreurs système, la gestion des exceptions (Java, C ++, Perl, PHP)? Certaines erreurs doivent être signalées. Certaines erreurs peuvent être traitées en interne (par une nouvelle tentative ou sont sans conséquence (peuvent être ignorées). …

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.