Es reicht nicht aus
OOP um der
OOP willen anzuwenden, sondern man muss auch so denken, wenn man Strukturen entwirft. Das gilt für Generics genauso.
Das fällt mir etwas schwer!
Aber ich möchte gerne diese Hürde überwinden.
Was da rein technisch passiert ist mir schon halbwegs klar, nur komme ich ohne griffige Beispiele nicht so wirklich dahinter, wozu man das konkret brauchen könnte.
Bspw. der Quellcodeschnipsel aus dem DocWiki:
Delphi-Quellcode:
type
TFoo<T: ICloneable> ...
TTest1 = class(TObject, ICloneable)
...
end;
TError = class
end;
var
X: TFoo<TTest1>; // TTest1 wird hier auf ICloneable-Unterstützung
// zur Compilierzeit überprüft
Inwiefern kann sowas im richtigen Quelltext Anwendung finden?
Wo sind die Vorteile gegenüber, ich sage mal, herkömmlichen Lösungen?
Mit den meisten Design Pattern geht es mir ähnlich.
Wenn ich das noch nicht selbst programmiert / implementiert habe, bleibt es nebulös im Hirn.
Erst wenn ich versuche diese Pattern umzusetzen - und sei es mit simplen Beispielen wie Kaffeezubereitung (
http://www.oreilly.de/catalog/hfdesi...apter/ch03.pdf) - macht es bei mir Klick.