🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #1513

Re: Objekt Hierachie, wie am besten ?

#1513
From: Joachim Zobel
Date: Sun, 04 Feb 1996 10:19
44 lines
2510 bytes
kay@edition.bonbit.org (Kay Hayen) wrote:


>Hallo Leute.

>In meinem derzeiten Projekt ( ueber den Inhalt darf ich nichts andeuten,  
>sonst werde ich wohlmoeglich auch von Ulrich angeflamt :-) habe ich eine  
>Klasse "Kartendaten", von dieser Klasse gibt es maximal nur eine Instanz  
>mit einer Lebenszeit ueber fast das gesamte Programm.

>Die Daten, die diese Klasse verwaltet aehneln sich so sehr, dass ich eine  
>Klasse "Kartenobjekt" eingefuehrt habe, deren Ableitungen dann member von  
>Kartendaten sind. Die Konstruktoren dieser Ableitungen von Kartenobjekten  
>werden vom den Konstruktoren von Kartendaten aufgerufen.

Wieso Member? Eine Liste von Kartenobjekten, die alle nur über das
Kartenobjekt-Interface angesprochen werden, waere eine bessere Lösung.

>Dann erfolgt aber IMO ein Stilbruch, denn die "Kartenobjekte" muessen auf  
>Memberfunktionen von "Kartendaten" zugreifen und dazu muss ich jedem  
>Konstruktor einer Zeiger auf die "Kartendaten" mitgeben, was ich nicht als  
>sehr elegant empfinde.

Ist aber ok. Solltest du aus irgendwelchen Gründen plötzlich mehrere
Kartendaten benötigen, zahlt es sich aus.

>Sollte ich den Konstruktor von Kartendaten eher in zwei Teile aufspalten  
>und Initialisierungen der Unterobjekte in eine direkt nach dem Kostruktor  
>aufzurufende Memberfunktion "Init" verlegen ? Die Kartenobjekte koennten  
>dann ueber einen globalen Zeiger auf die Kartendaten zugreifen ? Den  
>koennte ich auch schon im Konstruktor setzen, aber Seiteneffekte von  
>Konstruktoren finde ich noch uneleganter.

Lesen die Kartenobjekte nur über diesen Zeiger (const machen!)? Das
waere ok, wenn sie schreiben und dadurch untereinander Informationen
austauschen, kannst du leicht einen Wartungsalptraum bauen.

Das Problem hast du allerdings auch wenn jedes Kartenobjekt seinen
eigenen Kartendaten-Pointer hat.

Joachim

"Man faengt Forellen mit der Hand, indem man zuerst ihr Vertrauen gewinnt 
und es dann missbraucht."                              Robert A. Heinlein
Technical Details
Message-ID: <4f24if$m52@news.rrz.uni-koeln.de>
Path: arc1-ca.pugleaf.net!RRZ.Uni-Koeln.DE!usenet
References: <61qhJjBCr5B@devil.edition.bonbit.org>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!RRZ.Uni-Koeln.DE!usenet
From: a2597420@athena.rrz.uni-koeln.de (Joachim Zobel)
Newsgroups: de.comp.lang.c++
Subject: Re: Objekt Hierachie, wie am besten ?
Date: Sun, 04 Feb 1996 10:19:25 GMT
Organization: Regional Computing Center, University of Cologne
Message-ID: <4f24if$m52@news.rrz.uni-koeln.de>
References: <61qhJjBCr5B@devil.edition.bonbit.org>
NNTP-Posting-Host: annexr2-15.slip.uni-koeln.de
X-Newsreader: Forte Free Agent 1.0.82