Das ist ein sehr interessantes Problem. Hab ich mir noch gar keine Gedanken dazu gemacht.
Da immer bedauert wurde, dass in Delphi-Land so wenig über Konzepte nachgedacht wird, wollte ich das mal anstoßen
Zitat:
Zwei Gedanken deshalb von mir:
- LazyInitialization könnte man u.U. mit Annotationen/Attributen reparieren. Also den Lazy-Initialization-Code zur Laufzeit einfügen. Hab ich aber nich nie gemacht, kann dazu also leider nicht viel sagen.
- Den Proxy fände ich eigentlich auch am schönsten, weil nun wirklich orthogonal. Ob man zu Laufzeit den Proxy erzeugen kann, weiß ich nicht. In Java geht das und so hege ich die Hoffnung, dass es in Delphi auch ne Möglichkeit gibt. Probleme mit der Typisierung sehe ich da nicht. Es könnte nur sein, dass das zur Laufzeit nicht geht und man auf Code-Generatoren ausweichen muss.
Hätte beim Proxy die Property nicht den Typ des Proxys statt der eigentlichen Klasse? Oder möchtest du die eigentliche Klasse verstecken und immer den Proxy verwenden? Könnte aber auch sein, dass ich gerade auf der Leitung stehe, nachdem ich mich über die Live-Bindings Doku geärgert habe