000
20.11.2005, 17:18 Uhr
~i-box
Gast
|
Hallo,
ich habe folgendes allgemeines Design Problem. Und zwar geht es um die Programmierung von Visuellen Komponenten innerhalb von Windows mit der Borland VCL. Und zwar hätte ich gerne gewußt, was sinnvoller ist bei der Plazierung von visuellen Komponeten in Abhängigkeit einer Datenstruktur.
Der 1. Weg wäre eine Komponente (eine von vielen, abhängig einer Datenstruktur) innerhalb einer Klasse(Owner) zu instanzieren. Der Instanz wird als Parameter eine Datenstruktur und eine Zeichenfläche(Parent) übergeben. Im Konstruktor, oder einer Plazieren-Methode plaziert sich dann die Komponente in Abhängigkeit der Datenstruktur in der übergebenen Zeichenfläche, z.B. einer ScrollBox von selbst.
Der 2. Weg (meiner Meinung nach sinvollere, aber bezweifelte) ist der wie oben, die Anzahl Komponeten in Abhängigkeit der Datenstruktur zu instanzieren aber im Gegensatz zu oben, gleich die Komponenten über properties(seter Methoden) in einer Zeichen Fläche (ScrollBox) zu positionieren.
Somit würde der Owner die Kontrolle über seine Instanzen behalten. Bezweifelt wird an dieser Vorgehensweise jedoch, das die Komponetnen sich nun nicht mehr automatisch positionieren können, und dies gegen die OOP verstößt. Meine Meinung dazu ist jedoch, das der Owner (in diesem Falle die Klasse die die Objekte Instanziert) evtl. auch andere Komponeten in die Zeichenflächen positionieren kann, unabhängig von den Regeln dieser einen Komponente.
Die Frage ist also, wem man die Kontrolle über die Plazierung dieser Komponente geben soll, der Klasse die sie instanziert, oder dem instanziertem Objekt? Was ist "sauberer" bzw. Objektorientierter, oder kann man das vielleicht garnicht so pauschal beantworten? |