Mes collègues aiment dire que "la journalisation / la mise en cache / etc. Est une préoccupation transversale", puis continue en utilisant le singleton correspondant partout. Pourtant, ils aiment IoC et DI. Est-ce vraiment une excuse valable pour casser le principe SOLI D ?
J'ai lu différentes opinions sur le motif singleton. Certains soutiennent qu'il devrait être évité à tout prix et d'autres qu'il peut être utile dans certaines situations. Une situation dans laquelle j'utilise des singletons est quand j'ai besoin d'une fabrique (disons un objet f de type F) pour créer des objets …
Dans certains de mes codes, j'ai une usine statique similaire à celle-ci: public class SomeFactory { // Static class private SomeFactory() {...} public static Foo createFoo() {...} public static Foo createFooerFoo() {...} } Lors d'une révision du code, il a été proposé que ce soit un singleton et injecté. Donc, …
J'ai entendu parler de l'utilisation de l'injection de dépendance sur Singleton pour mon collègue. Je ne sais toujours pas si ce sont deux motifs orthogonaux qui peuvent être remplacés l'un par l'autre? Ou DI est-il une méthode pour rendre le modèle Singleton testable? Veuillez consulter l'extrait de code suivant. IMathFace …
Traditionnellement, un singleton est généralement implémenté comme public class Foo1 { private static final Foo1 INSTANCE = new Foo1(); public static Foo1 getInstance(){ return INSTANCE; } private Foo1(){} public void doo(){ ... } } Avec l'énumération de Java, nous pouvons implémenter un singleton comme public enum Foo2 { INSTANCE; public …
Je suis en train de développer une API RESTful et je pense qu'il est pratique d'utiliser des DAO pour mes ressources, car même si je prévois d'utiliser uniquement de la mémoire pour les stocker, je ne veux pas fermer la porte à quiconque utilise ma bibliothèque s'il décide d'utiliser une …
J'étudie la POO en C ++ et, même si je connais les définitions de ces 3 concepts, je ne sais pas vraiment quand ni comment l'utiliser. Utilisons cette classe pour l'exemple: class Person{ private: string name; int age; public: Person(string p1, int p2){this->name=p1; this->age=p2;} ~Person(){} void set_name (string parameter){this->name=parameter;} void …
Je suis actuellement en stage depuis 4 mois, et lors de la révision de mon code, mon patron n'a pas aimé que j'avais gardé un objet spécifique local pour un certain nombre de méthodes à travers quelques classes distinctes au sein d'un même assemblage. Il n'aimait pas que l'on me …
Parfois, je rencontre ces API de type hub de message, par exemple Cocoa NSNotificationCenter: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/Reference/Reference.html Habituellement, ces API fournissent un point d'accès global sur lequel vous vous abonnez ou diffusez des messages / événements. Je pense que c'est un problème car cela encourage une architecture de programme plate et non …
Dernièrement, il y a eu une sorte de révolution contre les singletons, mais y a-t-il quelque chose qui ne va pas s'ils sont apatrides? Je connais le discours sur la surutilisation et tout ... cela s'applique à tout, pas seulement aux singletons.
Problème J'ai récemment lu beaucoup de choses sur les singletons étant mauvais et comment l'injection de dépendances (que je comprends comme "utilisant des interfaces") est meilleure. Lorsque j'ai implémenté une partie de cela avec des rappels / interfaces / DI et en adhérant au principe de ségrégation d'interface, je me …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.