Autor Beitrag
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 07.11.13 09:58 
user profile iconTranx hat folgendes geschrieben Zum zitierten Posting springen:
und folgende Units haben Überschneidungen:

Controls/ActnList
...
Nicht immer ist die RTL/VCL sauber implementiert. Nachträglich lässt sich das oft nicht mehr ändern, da sich ggf. jemand auf eine bestimmte Funktionsweise verlässt.

user profile iconTranx hat folgendes geschrieben Zum zitierten Posting springen:
Weitere Reduzierungen sind m.E. nicht sinnvoll, da ich dann viel zu viel Zusammenfassungen von Units vornehmen müsste
Übertreiben muss man dabei auch nicht. Wo es logisch trennbar ist, sollte man es machen, wo das nicht geht, ist es eben erst einmal so.

user profile iconTranx hat folgendes geschrieben Zum zitierten Posting springen:
Allerdings sind diese nicht unabhängig voneinander, so dass ich die Beziehungen zum Hauptfenster, der Haupt-Unit hier komplett ausgeklammert hae. Allerdings hat die Daten-Unit nun keinen Bezug mehr zur Haupt-Unit.
Und das ist das wichtigste. Denn so etwas ist ein No-Go.
Andere Kreuzbeziehungen sind zwar nicht schön, aber auch nicht schlimm.

Wichtig ist dabei nur, dass du bei Kreuzbeziehungen möglichst nicht Units einbindest, die dann gleich einen Rattenschwanz an anderen Units nach sich ziehen. Denn wenn du dann eine der Units in einem anderen Projekt verwenden willst, musst du plötzlich die Hälfte der Units des anderen Projekts einbinden. ;-)
Tranx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Do 07.11.13 10:19 
Wie ich schon schrieb, die Units, die ich aus der Hauptunit ausgelagert habe, haben nur die Funktion, thematisch Routinen zusammenzufassen (z. B. Rechnungserstellung, Anzeige, Key-Prozeduren ...) Die benötige ich nicht in anderen Projekten, welche ganz andere Aufgaben haben (statt Auftragsverwaltung z.B. Messdatenerfassung). Diejenigen Units, welche ich auch in anderen Projekten nutze (z.B. eigene Messagedialoge, eigene Komponenten, Mathefunktionen, Stringfunktionen... sind komplett gekapselt und haben Beziehungen zu einem konkreten Projekt.

Und ich werde auch einen Teufel tun und an den Systemroutinen rumfummeln. Ich habe mir nur die Source-Dateien in ein Verzeichnis geladen, welches im Projekt jedoch nicht erscheint, das ich mit Icarus-Project-Analyser durchforstet hatte. Da fand ich dann diese Unit-Verbindungen. Außerdem sehe ich dann die Umsetzung verschiedener Prozeduren. Das hilft oft bei der Implementierung eigener Ansätze/Objekte etc.

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 07.11.13 14:12 
user profile iconTranx hat folgendes geschrieben Zum zitierten Posting springen:
Und ich werde auch einen Teufel tun und an den Systemroutinen rumfummeln.
So meinte ich das auch nicht. Embarcadero selbst kann da aber nicht frei ändern. ;-)