AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Designfrage: Pest oder Cholera

Ein Thema von Patrick · begonnen am 22. Jun 2011 · letzter Beitrag vom 23. Jun 2011
 
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#15

AW: Designfrage: Pest oder Cholera

  Alt 23. Jun 2011, 15:15
Der Vorschlag von Stevie ist was für Hacker. So würde ein guter IExporter umgesetzt werden.

Die Frage lautete doch aber, was vom Klassendesign besser ist.

Jeder Klasse ein 'ExportTo' zu spendieren, ist imho nicht ganz richtig (im Sinne der Ästhetik), denn einem Haus ist es egal, ob es sich irgendwo hin exportieren kann. Es steht einfach nur da und soll auch bei einem Sturm nicht umpurzeln (z.B.)

Wenn man das Haus exportieren will, beauftragt man einen Spezialisten, der das kann, nämlich einen, der die IExporter-Schnittstelle implementiert. WIE der das macht, und WAS er genau exportiert (Blaupause, Konzept, Hausbaukasten, Architekt etc.) ist wurscht.

Der Nachteil der Vorgehensweise, eine neues Verhalten in den Klassen zu hinterlegen ist der, das man Beziehungen schafft (TExportableClass), die rein logisch gar nicht vorhanden sind.

Was hat denn z.B. ein Haus mit einem Kuchen zu tun? Bloß weil beide exportierbar sind? Sie stehen aber in einer Beziehung, weil beide von TExportableClass abgeleitet sind.

Klar, man kann auch mit Interfaces arbeiten und implementiert dann kreuz und quer und je nach Lust und Laune mal hier ein IExportable, mal dort. Kraut & Rüben sind bei so einem Konzept im wahrsten Sinne des Wortes vorprogrammiert.

Ich lasse meine Klassen so kompakt und klein, wie es geht. Mit der Maxime hatte ich noch nie Probleme. Es ist manchmal nur etwas schwieriger, es 'richtig' zu machen. Dafür sieht so ein Klassenkonzept immer ordentlich aus und ist es auch.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz