AGB  ·  Datenschutz  ·  Impressum  







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

Interfaces -- Do and Don'ts

Ein Thema von s.h.a.r.k · begonnen am 5. Jul 2012 · letzter Beitrag vom 6. Jul 2012
Antwort Antwort
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#1

AW: Interfaces -- Do and Don'ts

  Alt 6. Jul 2012, 03:13
Vielleicht nicht das was du hören möchtest...

Wenn ein Interface nur von einer einzigen Klasse implementiert wird und auch kein Interface für Automatisierung ist, dann sollte man kein Interface verwenden.
Grund:
Soll das Interface geändert werden, dann muss an mindestens zwei Stellen geändert werden - in der Deklaration des Interface und in der implementierenden Klasse.
Da dies doppelte Arbeit bedeutet wird der Programmierer manchmal auf eine Änderung verzichten, obwohl die Änderung eine Verbesserung wäre.

Fazit:
Interfaces müssen sorgfältig geplant werden!
Eine spätere Änderung kann je nach Anzahl der implementierenden Klassen recht aufwändig werden.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.002 Beiträge
 
Delphi 12 Athens
 
#2

AW: Interfaces -- Do and Don'ts

  Alt 6. Jul 2012, 06:24
Wenn ein Interface nur von einer einzigen Klasse implementiert wird und auch kein Interface für Automatisierung ist, dann sollte man kein Interface verwenden.
Da fehlt noch mindestens die Einbindung von DLLs. Denn um Objekte dorthin zu liefern, braucht man Interfaces (abgesehen von Packages, aber...).

Und dann gibt es noch das Prinzip die Implementierungen abzukoppeln:
http://www.nickhodges.com/page/Why-Y...eferences.aspx
Da es da in Delphi ein paar deutliche Einschränkungen gibt, kann ich mich damit als generelles Prinzip nicht wirklich anfreunden, aber es ist eigentlich sehr interessant.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: Interfaces -- Do and Don'ts

  Alt 6. Jul 2012, 08:38
Interfaces beschreiben das Verhalten sowie die Interaktion der einzelnen Subsysteme bzw. Teilen davon. Klassen implementieren dieses Verhalten.

Das ist ein gravierender Unterschied, und ich würde bei komplexen Systemen immer erst die Schnittstellen definieren und später dann das Verhalten.

Alleine schon Konstrukte wie:
Delphi-Quellcode:
Type
  TCombinedClass = Class (TSomeBaseClass, IListener, IRemover, IPad, IPod)
zeigen, wie klarer ich Systeme entwerfen kann. Denn ich beschreibe das Verhalten der einzelnen Interfaces (IListener, IRemover....) separat und kann dieses Verhalten dann meinen Klassen zuweisen.

Das geht alleine mit Klassen nicht.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#4

AW: Interfaces -- Do and Don'ts

  Alt 6. Jul 2012, 08:57
Na, das ist doch schon mal ein Anfang Danke schon mal für die ganzen Ideen! So hatte ich mir das gedacht.

Am Schluss gießen wir dann noch ein Buch mit 1000 Seiten Umfang draus
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:09 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