Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: Type-Anweisung im Implementation-Abschnitt vs. RegisterTypes in eigener Unit

  Alt 28. Jun 2018, 15:30
Meine Frage:
Gibt es hier einen Konflikt zwischen 2 verschiedenen Programmierstielen ("Wo soll die type-Anweisung der Klasse stehen" vs. "Auslagerung der RegisterType-Anweisung in eine eigene Unit"), ist meine Annahme, dass die type-Anweisung im Implementation-Teil "versteckt" werden soll, damit die Klasse nicht im Projekt sichtbar ist, übertrieben oder übersehe ich eine Kleinigkeit?

Noch eine Frage am Rande:
Soll in der RegisterType-Anweisung der Zusatz ".Implements<IFoo>" hinzugefügt werden oder nicht?
Wird das Programm dadurch schneller, wenn der Zusatz hinzugefügt ist?
Wie schon an anderer Stelle angemerkt, halte ich das Verstecken einer Klasse im Implementation Teil keineswegs für guten Stil sondern nur für das Ergebnis von "Oh, nein! Ein anderer Entwickler könnte die Klasse direkt nutzen anstatt über das Interface" Paranoia.

.Implements<T> ist das Explizite registrieren genau dieses Servicetypens T. Implementiert deine an RegisterType übergebene Klasse nur ein Interface (IInterface wird ignoriert), dann ergibt sich kein Unterschied. Sind dort aber möglicherweise noch andere Interfaces implementiert, dann registriert der Container diese intern implizit auch, wenn für den Typen nicht schon mindestens eine explizite Servicetyp Registrierung vorliegt.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (28. Jun 2018 um 15:32 Uhr)
  Mit Zitat antworten Zitat