AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Custom Constructor /DI bei factory-basierter Objekterstellung
Thema durchsuchen
Ansicht
Themen-Optionen

Custom Constructor /DI bei factory-basierter Objekterstellung

Offene Frage von "freimatz"
Ein Thema von Sequitar · begonnen am 26. Jan 2018 · letzter Beitrag vom 26. Mär 2018
 
Sequitar

Registriert seit: 8. Jan 2016
74 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Custom Constructor /DI bei factory-basierter Objekterstellung

  Alt 29. Jan 2018, 09:58
Leider kann ich dir nicht direkt weiterhelfen. Was ich sagen kann ist, dass es geht auf die Parameter der Konstruktoren einer Klasse zuzugreifen. Unser selbstgeschriebener Dependecy-Container kann das zumindest. Der Code der den Contrainer verwendet benutzt jedoch nie den Konstruktor für andere Parameter. Der Konstruktor wird nur verwendet um Abhängigkeiten zu injizieren. Weitere Werte kommen dann auch per Methoden oder Eigenschaften rein.
(Es gab hier mal eine Diskussion den Dependecy-Container zu erweitern, so dass man auch die berüchtigen "AOwner" Parameter übergeben kann. Ich gehe aber davon aus, dass der Dependecy-Container dann eine weitere Methode bekommen hätte.)

Okay danke für die Antwort schonmal. es ging mir ja auch hauptsächlich um die von dir genannten abhängingkeiten
Wie habt ihr denn diese Konstruktoren aufgerufen (gemeinsame baseclass?), in welcher form waren die angängigkeiten? ich natürlich kann ich werte per eigenschaften über diverse interfaces setzen , aber das Problem (bei euch gings ja irgendwie) was ich hab, ist dass ich durch die factory ja nicht Tx.Create(Anint: Integer) aufrufen kann, ausser wenn ich ne basisklasse bereits kenne die den konstruktor zumindest abstrakt kennt.

Das mit den interfaces ist ein eigentlich praktikabler ansatz, den ich auch bisher verfolge, nur kann ich bei Objekterstellung halt den nutzer nicht ZWINGEN, möglicherweise notwendige initiale abhängigkeiten zu übergeben, bevor ers vlt vergisst als property zuzuweisen..., ausserdem bräuchte ich dann bei jedem "receiver" einer injektion dann sowas wie "Finjectable.init", also müsste ich dann ein extra interface erstellen, das von allen möglichen dependencies zu implementieren wäre...geht zwar, find ich aber irgenwie unpraktisch und unschön dazu.


Zitat:
Was ich sagen kann ist, dass es geht auf die Parameter der Konstruktoren einer Klasse zuzugreifen
...Ist das nicht das, was ich gerade denke nich zu können?^^
Wie ist das gemeint? b) wie wäre das denn möglich? Via RTTI, vielleicht, damit hab ich bisher noch fast gar keuine Erfahrung.Merci

Geändert von Sequitar (29. Jan 2018 um 10:02 Uhr)
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz