hotti: Zentrale Stelle oder Geteilte Anliegen?

Beitrag lesen

hi ;)

Ja und Nein. Ein expandiertes Dokument ist da noch lange nicht fertig.

Dann erstellt die Klasse eben nur einen Teil eines Dokuments. Auch dann ist ihr Einsatzzweck übersichtlich klein und muss immer noch nichts zusätzliches erben.

Ja. So habe ich es bisher: Zwei Objekte, eins für die komplette Response und eins fürs Template, was ein Teil der Response ist.

Die (geplante) Vererbung ist sinnvoll, weil der Body ein Attribut des Response-Objekts ist und auch der Stash ein Attribut des Response-Objekts ist. Bisher werden zu diesen Attributen zwei Referenzen in die Template-Klasse übergeben. Demnächst werden die Attribute nicht übergeben sondern geerbt. Der Code wird deswegen nicht unübersichtlich, der Code bleibt unverändert (schrieb ich bereits). Ich _kann_ den Code ändern, muss aber nicht. Ich kann jedoch _neuen_ Code einfacher schreiben:

Die Erstellung des Template-Objekts mit Übergabe der Referenzen entfällt und die Method "expand" wird nunmehr mit dem Response-Objekt aufgerufen. Den Rest erledigt der Response-Handler, dessen Code habe ich vor einem dreiviertel Jahr geschrieben und bisher nicht wieder angeguckt ;)

Eine andere möglich Variante wäre die Delegierung anstelle einer Vererbung. Hierbei würde das Response-Objekt bereits im Konstruktor als zusätzliches Attribut ein Template-Objekt bekommen, womit die Methode Template::expand delegiert werden kann. Auch in diesem Fall würde sich am bisherigen Code nichts ändern, neuer Code jedoch wird einfacher.

O'Hotti