AGB  ·  Datenschutz  ·  Impressum  







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

Uses: Interface vs. Implementation Section

Ein Thema von Martin W · begonnen am 16. Dez 2011 · letzter Beitrag vom 22. Dez 2011
Thema geschlossen
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#1

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 07:11
Diese Diskussion ist nicht nur flüssig, sie ist schon überflüssig. Beide Varianten haben ihre Vor- und Nachteile, also finde ich, das soll jeder so machen, wie er für richtig hält. Sich hier gegenseitig anzupflaumen oder mit irgendwelchen Prinzipien um sich zu werfen ist doch eher kontraproduktiv.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 07:22
@DeddyH
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
 
neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#3

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 07:51
Diese Diskussion ist nicht nur flüssig, sie ist schon überflüssig. Beide Varianten haben ihre Vor- und Nachteile, also finde ich, das soll jeder so machen, wie er für richtig hält.
Diese Diskussion hat eine Eigendynamik bekommen und die Frage, was wohin gehört, ist dabei m.E. nur der Platzhalter zu einer grunsätzlicheren Überlegung.

Ein Bild: Solange ich mit meinem Motorrad nur in meinem Hühnerstall fahre, interessiert es kaum jemand, ob ich Links- oder Rechtsverkehr praktiziere. Sobald ich mich auf die öffentliche Straße ...

Auf unsere Diskussion übertragen bedeutet das: Jeder darf gern seine eigene Meinung haben, solange er in seinem Delphi-Hühnerstall nur sich selbst verantwortlich ist. Darüber hinaus gelten halt längst anerkannte Regeln und die Meinung eines Einzelnen ist da nicht mehr so sehr maßgeblich. Ich gebe zu, es ist nur für die relevant, die bestrebt sind, es "richtig" zu machen.

Aus diesem Blickwinkel ist die Diskussion inhaltlich tatsächlich längst entschieden.
Andreas

Geändert von neo4a (21. Dez 2011 um 08:07 Uhr)
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#4

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 07:56
Nur ist es bei diesen Regeln oftmals so, dass man sich nur schwer konsequent an eine halten kann, ohne damit eine andere zu verletzen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#5

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 08:02
Nur ist es bei diesen Regeln oftmals so, dass man sich nur schwer konsequent an eine halten kann, ohne damit eine andere zu verletzen.
In der Tat überlappen sich an manchen Stellen die Bedeutungen und führen je nach Gewichtung zu anderen Ausführungen. Das ist schon okay. Aber man muss sie ja deswegen nicht komplett ignorieren, oder?!
Andreas
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#6

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 08:04
Das hat ja auch niemand behauptet. Die richtige Balance zu finden ist die Kunst. Und hier muss eben jeder für sich entscheiden, welche Regel ihm wichtiger ist.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 08:11
Diese Diskussion ist nicht nur flüssig, sie ist schon überflüssig. Beide Varianten haben ihre Vor- und Nachteile, also finde ich, das soll jeder so machen, wie er für richtig hält. Sich hier gegenseitig anzupflaumen oder mit irgendwelchen Prinzipien um sich zu werfen ist doch eher kontraproduktiv.
Bei manchen Themen gibt es halt kein "richtiges" Ergebnis. Wichtig ist - denke ich - das Bewusstsein, dass es hier verschiedene Arten gibt, die beide mit individuellen Merkmalen behaftet sind.
Daniel R. Wolf
mit Grüßen aus Hamburg
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.378 Beiträge
 
Delphi 12 Athens
 
#8

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 09:27
Hier kann es auch kein 100% Richtig oder Falsch geben.

Zitat:
Die Ästheten sagen "Alle Units da hin, wo sie hingehören, ..."
Und wer sagt wo sie hingehören?

Die Uses-Klausel hat nunmal eigentlich absolut nichts mit Interface oder Implementation zu tun.
Gäbe es keine Kreuzreferenzen, würde also ein einziger Uses-Abschnitt vollkommen reichen ... z.B. zwischen "UNIT xyt;" und "INTERFACE" und schon gäbe es kein Problem mehr.
Vorschlag zur Versöhnung: Wir machen keine Kreuzreferenzen mehr und lassen das USES entsprechend von Emba verschieben.

Mit Implementation oder Interface kann mal also nur steuern "wann" etwas geladen wird und das ist IMHO "nur" für Kreuzreferenzen wichtig.

Denn im Interface angegeben, werden sie nicht "veröffentlicht".
> es ist in einer anderen Unit nicht erkennbar welche Units die eingebundenen Units wiederum einbinden, noch werden irgendwelche Typen, Funktionen, Variablen oder Konstanten einer eingebuntenen Unit nach außen veröffentlicht/durchgereicht, egal ob diese in der Implementation oder im Interface eingebunden wurde.

Die einzigen Wirkungen sind, worauf der Unterschied "Implementation" oder "Interface" Einfluß besitzt:
  • in welcher Reihenfolge werden Unit eingebunden
    • im Interface eingebundene Units werden immer vor der Unit geladen, welche sie eingebunden hat
      deren Register-Prozedur und der Initialization-Abschnitt werden also immer ausgeführt, bevor die eigene Unit geladen wird
    • in der Implementation eingebundene Unit "können" auch erst später geladen/initialisiert werden, also auch erst nachdem irgendein Code der ladenden Unit ausgeführt würde
    • beim Entladen ist die Reihenfolge natürlich andersrum
  • außer daß man in der Implementation natürlich nur auf Dinge von Units zugreifen kann, welche auch "vorher" deklariert wurden (mehrere USES, im selben Bereich, sind ja nicht möglich, so wie bei TYPE, VAR und CONST), hat dieses nach Außen keine Wirkung ... nix vonwegen "veröffentlichen" des Interface-Zeugs oder so
  • "ich" habe gerne (viele) zusammengehörrige Units auch zusammenhängend eingebunden (kleine Grüppchen)
    würde ich da jetzt diese auch noch auf Implementration/Interface aufteilen, wären meine Gruppen "kaputt"




Was nun der/die Einzelne daraus für Schlüsse zieht und wie er/sie das letztendlich verwendet, ist jedem selber überlassen.




Clean Code hin oder her, jede(r) kann machen was er/sie will und wie er/sie es mag.
Für mich ist letztendlich das Fehlerpotential ausschlaggebend und für mich zählen unnötige und fahrlässig platzierte globale Variablen genuso dazu, wie Implementationsunits (Ladereihenfolge).

Zu Clean Code:
- ja, es hat hier und da gute Ansätze, aber es ist keine "Vorschrifft" und ist auch nicht immer der Weißheit letzer Schluß
- die einzigen wirklichen Vorschriften sind die Syntaxvorgaben



*hau*, isch habe gesprochen
*friedenspfeife rauch*
*hust* *röchel*
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (21. Dez 2011 um 09:32 Uhr)
 
neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#9

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 08:15
Das hat ja auch niemand behauptet. Die richtige Balance zu finden ist die Kunst. Und hier muss eben jeder für sich entscheiden, welche Regel ihm wichtiger ist.
Genau das meine ich mit substantiell: Ausgehend von Regeln und Konventionen. Wer hier aber seine Meinung den Regeln und Konventionen gleichstellt oder sogar überordnet, verabschiedet sich leider inhaltlich aus der Diskussionsrunde, weil dann vor allem die gemeinsame Basis fehlt.
Andreas
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#10

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 08:24
Das vorrangige Ziel einer jeden Diskussion sollte der Austausch von Argumenten sein und nicht das Durchdrücken der eigenen Meinung. Gerade bei Themen wie diesem kann so eine Diskussion aber nur ergebnisoffen geführt werden (siehe Daniels Post), was wiederum voraussetzt, dass alle Teilnehmer Willens und in der Lage sind, die Argumente der anderen zu prüfen und deren Meinung zu akzeptieren. Und genau das vermisse ich in letzter Zeit leider immer häufiger in diesem Forum, so auch hier.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
Thema geschlossen


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 23:39 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