Meine Kollegen sagen gerne "Protokollierung / Caching / etc. Ist ein Querschnittsthema" und verwenden dann überall den entsprechenden Singleton. Dennoch lieben sie IoC und DI. Ist es wirklich eine gute Entschuldigung, das SOLI D- Prinzip zu brechen ?
Ich habe unterschiedliche Meinungen über das Singleton-Muster gelesen. Einige vertreten die Ansicht, dass dies unter allen Umständen vermieden werden sollte und andere, dass es in bestimmten Situationen nützlich sein kann. Eine Situation, in der ich Singletons verwende, besteht darin, dass ich eine Factory (sagen wir ein Objekt f vom Typ …
In einigen meiner Codes habe ich eine statische Factory, die der folgenden ähnelt: public class SomeFactory { // Static class private SomeFactory() {...} public static Foo createFoo() {...} public static Foo createFooerFoo() {...} } Während einer Codeüberprüfung wurde vorgeschlagen, dass dies ein Singleton sein und injiziert werden sollte. Also sollte …
Ich habe gehört, dass ich die Abhängigkeitsinjektion über Singleton für meinen Kollegen verwendet habe. Ich kann immer noch nicht erkennen, ob es sich um zwei orthogonale Muster handelt, die gegeneinander ausgetauscht werden können. Oder ist DI eine Methode, um das Singleton-Muster testbar zu machen? Bitte schauen Sie sich das folgende …
Traditionell wird ein Singleton normalerweise als implementiert public class Foo1 { private static final Foo1 INSTANCE = new Foo1(); public static Foo1 getInstance(){ return INSTANCE; } private Foo1(){} public void doo(){ ... } } Mit Javas Enum können wir einen Singleton als implementieren public enum Foo2 { INSTANCE; public void …
Ich entwickle eine RESTful-API und halte es für zweckmäßig, DAOs für meine Ressourcen zu verwenden, da ich, obwohl ich beabsichtige, nur Speicher zum Speichern dieser Ressourcen zu verwenden, nicht die Tür zu jedem schließen möchte, der meine Bibliothek verwendet, wenn er dies möchte eine Datenbankimplementierung für das DAO. Meine Frage …
Ich lerne OOP in C ++ und obwohl mir die Definitionen dieser 3 Konzepte bekannt sind, kann ich nicht wirklich erkennen, wann oder wie ich es verwenden soll. Verwenden wir diese Klasse für das Beispiel: class Person{ private: string name; int age; public: Person(string p1, int p2){this->name=p1; this->age=p2;} ~Person(){} void …
Ich bin derzeit 4 Monate in einem Praktikum und als ich meinen Code überprüfte, mochte mein Chef nicht, dass ich ein bestimmtes Objekt für eine Reihe von Methoden in einigen separaten Klassen innerhalb einer Assembly lokal gehalten hatte. Es gefiel ihm nicht, dass ich jedes Mal ein neues Objekt erstellt …
Manchmal finde ich diese APIs im Message Hub-Stil, zum Beispiel das Cocoa NSNotificationCenter: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/Reference/Reference.html Normalerweise bieten diese APIs einen globalen Zugriffspunkt, an dem Sie Nachrichten / Ereignisse abonnieren oder senden. Ich denke, dies ist ein Problem, weil es eine flache und unstrukturierte Programmarchitektur fördert, bei der Abhängigkeiten nicht explizit in …
In letzter Zeit gab es eine Art Revolution gegen Singletons, aber stimmt etwas nicht mit ihnen, wenn sie staatenlos sind? Ich kenne die Überbeanspruchung und alles ... das gilt für alles, nicht nur für Singletons.
Problem Ich habe kürzlich viel darüber gelesen, dass Singletons schlecht sind und wie die Abhängigkeitsinjektion (die ich als "Verwenden von Schnittstellen" verstehe) besser ist. Als ich einen Teil davon mit Callbacks / Interfaces / DI implementierte und mich an das Prinzip der Schnittstellentrennung hielt, war ich ziemlich durcheinander. Die Abhängigkeiten …
Ich habe viel über das Singleton-Muster gelesen und wie es "schlecht" ist, weil es die Klassen, die es verwenden, schwer zu testen macht, so dass es vermieden werden sollte. Ich habe einige Artikel gelesen, in denen erklärt wird, wie der Singleton durch Abhängigkeitsinjektion ersetzt werden kann, aber er erscheint mir …
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.