AGB  ·  Datenschutz  ·  Impressum  







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

Zirkuläre Unit Referenz auflösen

Ein Thema von Aviator · begonnen am 15. Dez 2017 · letzter Beitrag vom 16. Dez 2017
Antwort Antwort
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Zirkuläre Unit Referenz auflösen

  Alt 16. Dez 2017, 11:13
Wir benutzen für jedes Interface eine eigene Unit. Dann hast du das Problem nur bei echten Kreuzreferenzen.

Unsere Units heißen genauso wie das Interface. Zum Beispiel könnte es ein Interface ICustomPrinter in Common.Interfaces.Hardware.CustomPrinter.pas geben. Analog landet TCustomPrinter in Common.Hardware.CustomPrinter.pas. Auf die Weise findet man auch sehr schnell die Units für die Einbindung eines Typs.

Ich würde hier unabhängig davon ebenfalls ein Interface zurückgeben. Interfacereferenzen in Records finde ich nicht schön.
Ja ich werde es wohl per Interface machen.

Aber für jedes Interface eine einzelne Klasse machen.
Das ist sportlich und resultiert bestimmt ist sehr vielen Dateien. Klar, dass hat eben genau den Vorteil, dass das Problem das ich beschreibe nicht auftritt. Das werde ich mir mal überlegen. Danke für die Info.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli
Online

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Zirkuläre Unit Referenz auflösen

  Alt 16. Dez 2017, 12:13
Für jedes Interface eine eigene Unit? Das kann ich auch nicht nachvollziehen.
Dann braucht man ja ggf. extrem umfangreiche uses-Anweisungen.

Also ich würde das jedenfalls nicht als Zielstellung setzen.

Ich habe inzwischen für jedes Projekt bzw. Package i.d.R. eine Interface-Unit, in der alle Interfaces deklariert sind, ggf. auch mit foreward-Deklarationen.

Die Klassen sind dann hinter einer Factory verborgen und Objekte werden nur über die Factory instanziiert.

Normalerweise braucht nur die Factory-Unit und die Interface-Unit in anderen Units bekannt zu sein.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

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

AW: Zirkuläre Unit Referenz auflösen

  Alt 16. Dez 2017, 14:00
Dann braucht man ja ggf. extrem umfangreiche uses-Anweisungen.
Unsere Units sind in aller Regel alle relativ klein. Seitdem haben wir mit Error Insight oder der Performance der Syntaxergänzung usw. auch kaum noch Probleme. Auch interne Fehler beim Kompilieren sind seitdem sehr viel weniger geworden.

Aber natürlich kommen da schon mal einige Units zusammen, aber es ist eben auch direkt klar was da eigentlich eingebunden ist (uses aufräumen...) und man findet auch schnell die Unit zu einem Typ. Vor allem ist es aber extrem viel einfacher verschiedene Branches zu mergen usw., wenn nicht in einer Datei viele Änderungen für viele verschiedene Zwecke drin drin.

Und nebenbei kommt auch der Skriptcompiler besser klar, wenn die Units kleiner sind und weniger interne Beziehungen enthalten. Manchmal gab es beim Linken sonst Probleme, wenn viele Typen im gleichen Kontext lagen.
Sebastian Jänicke
AppCentral
  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 22:04 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