2017-09-05 3 views
3

Ich habe mich kürzlich gefragt, warum jeder sagt, dass du Singletons vermeiden solltest, also lese ich darüber und es macht Sinn.Warum gehen viele populäre Wordpress-Plugins voll Singletons

Aber ich habe bemerkt, dass viele populäre Wordpress Plugins fast Full Singletons in ihrem Design-Muster gehen.

Für einen Entwickler, der versucht, durch das Lesen von Code von Plugins, die von erfahrenen Entwicklern geschrieben wurden, zu lernen, ist es sehr verwirrend, warum diese Plugins das Singleton-Muster überstrapaziert haben. zB .: Woocommerce und vieles mehr.

Gibt es einen Vorteil, das Singleton-Muster in einigen Fällen zu verwenden?

+0

hmm, das ist ein bisschen Fallstrick, Singleton ist nicht von Natur aus schlecht - genau wie ein Messer. vielleicht gibt es einige Designüberlegungen bei der Verwendung von Singletons, wie zum Beispiel eine bekannte Tatsache, dass die Variable php 'static' für eine einzelne Anfrage lebt, so dass sie den Bootstrapping einer Klasse verringern kann, wenn wir eine einzelne Klasse haben. nun, ich hoffe, dass einige bessere devs erklären können. –

+0

Nur ein Wort der Vorsicht - Ich würde nicht davon ausgehen, dass alle Plugin-Entwickler Erfahrung in Software Engineering & Design haben, besonders da PHP schlechte Programmierpraktiken fördern kann. Du solltest das richtige Material verwenden, damit du keine schlechten Angewohnheiten aufnimmst (... oder zumindest verstehst du, warum es schlechte Angewohnheiten sind, bevor du dich entscheidest, sie trotzdem zu benutzen, wie es im Code der Fall ist derzeit lernen von!) – FluffyKitten

Antwort

1

Singletons sind nicht immer schlecht, alles hängt vom Kontext ihrer Verwendung ab. Wenn Sie etwas mit einem Singleton sehen, sollten Sie sich einige Dinge fragen.

  • Sind sie ein Singleton, weil sie kein besseres Muster wie eine Fabrik oder Dependency Injection
  • sie ein Singleton verwenden können, weil ihre Komponente 1 Instanz im Rahmen der Anwendung immer nur
haben