2016-04-25 12 views

Antwort

1

Das hängt von der encapsulation Ebene für Ihre Projekte/Lösungen ab, wenn Sie der Meinung sind, dass die Ressource eher intern verwendet wird, und richten Sie sie als protected/private/internal Ressource ein, wenn einige dieser Eigenschaften von einer externen Lösung konfiguriert und darauf zugegriffen werden kann/Projekt dann lass es öffentlich.

Kapselung ist gut, denken Sie nur über die Art und Weise, wie Sie externe Bibliotheken verbrauchen und wie sie Eigenschaften, Klassen, Konfigurationen verfügbar machen, das ist eine gute Übung zu tun. Denken Sie wie ein externer Entwickler, der nichts über Ihre Projektumsetzung weiß, können Sie sich die folgenden Fragen stellen:

  • ist dieses Stück Code wert zu externen Entwicklern, darüber zu wissen?
  • brauche ich eine Vorkonfiguration für diesen Code?
  • ist meine Implementierung klar genug, so dass jeder es nur durch die Code-Implementierung verstehen?
  • Erzwingt der Code bestimmte Richtlinien/Anforderungen?
  • hat mein Code obskure Implementierungen?

für mich zum Beispiel über IOC sprechen, könnte Setter Injektion ein wenig dunkel sein

Setter Injektion ist nur eine Set-Eigenschaft Erstellen einer Abhängigkeit von einer zuvor instanzierte Objekt zu ersetzen. Ich mag es nicht Setter Injection, weil es zusätzliche erfordert, versteckte Schritte ein Objekt zur Vorbereitung

Blick auf this post zu erhalten den vollständigen Kontext als Beispiel auszuführen, aber auch dies ist nur ein Beispiel.

Verwandte Themen