-
Forum: Programmieren allgemein
Delphi
by SebE,
20. Aug 2011
War bei mir nicht anders.
Jeder findet Schritt für Schritt seine Architektur, die er für alle seine (ähnlichen) Projekte verwendet.
-
Forum: Programmieren allgemein
Delphi
by SebE,
20. Aug 2011
Was für ein "Vergleich"!
Du kennst den Unterschied zwischen Regel und Empfehlung?
Man muss nicht "masochistisch" veranlagt sein: Der Overhead relativiert sich bei großen Projekten!
Edit:
Kann es sein, dass manche Menschen allergisch reagieren, wenn sie "Neues" (so neu ist MVC garnicht mal) vor die Füße geworfen bekommen?
-
Forum: Programmieren allgemein
Delphi
by SebE,
20. Aug 2011
@Stevie:
Es kommt auch auf die Domaine an, in der man bzw für die man entwickelt.
Wenn man immer für Gebiete Software erstellt, in der Wartung keine große Rolle spielt, weil sowierso immer alles neu aufgesetzt wird, kann einem die "Schönheit" (Trennung nach Aufgaben, ...) Wurst sein.
@neo4a:
Ich finde den aktuellen Threadtitel eindeutig.
Es heißt ja nicht "Trenung: ja oder nein", sondern...
-
Forum: Programmieren allgemein
Delphi
by SebE,
20. Aug 2011
Ich würde es so sagen: MVC ist das intuitivste, machen kannst du das, wie es dir beliebt.
FÜr mich ist MVC mehr ein Gedanke, die Umsetzung im Detail entspricht auch nicht dem "Standard" (den es ja so garnicht gibt).
Entwurfsmuster sind ja nur grobe Ideen (die Philosophie einer Problemlösung)
-
Forum: Programmieren allgemein
Delphi
by SebE,
20. Aug 2011
(fett durch mich)
Im Allgemeinen gilt: je mehr Abstraktionen, desto flexibler die Anwendung (die Kommunikation).
Ob der Code dabei übersichtlich bleibt, ist fraglich.
Man kann auch Abstraktionen einführen, die wenig Sinn ergeben oder einfach nicht hilfreich sind.
Klar hat man irgendwo Bindungen. Diese sollten aber - wenn möglich - an "festen" Ort (Controller) plaziert werden und nicht...
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
Du bist lustig!
Wie würde es denn anders funktionieren, besser: wo würde man es denn sonst noch einsetzen können?
Integer werden automatisch zu Zeichenketten, Zeichenketten werden automatisch zu Bezeichnern.
Das geht doch nicht mit rechten Dingen zu :twisted:
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
Das sind die visuellen Repräsentationen der Zahlen. Die Zahlen selbst sind es nicht (das drückt auch der Typ TEdit aus).
Man kann auch TAddition.Addition(2, 3) aufrufen.
Wie man sieht, gibt es min. zwei Schichten oder Komponenten, die man trennen KANN.
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
Darum geht es dem TE doch garnicht.
Er hätte auch ein beliebig größeres Beispiel wählen können.
Hater er aber nicht - damit müssen wir uns abfinden und nicht darauf rumreiten, dass es wenig Sinn ergibt.
Ich denke, je kleiner das Beispiel, desto einfacher kann man ein Verständnis für die Grundlagen erlangen.
Bei größeren Beispielen treten wieder Sonderfälle auf (ich habe selbst welche...
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
Das kommt immer auf die konkrete Aufgabenstellung an.
Das Model zu erweitern sollte der gleiche Aufwand sein wie beim RAD.
Neue Verbindungen zu ziehen, sollte dank "Philosophie" (die in einer Dokumentation - falls vorhanden - ersichtlich wäre) "relativ" leicht gehen.
Und am Ende entsteht nicht dieses Durcheinander wie beim RAD.
Man darf es auf beiden Seiten (Pro-OO und Contra-OO) nicht zu...
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
Ich bin einfach der Meinung, dass man die Trennung nur durch Abstraktion (also mittels Vererbung) erreichen kann.
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
Dann hast du die Wahl: zwei Lösungen wurden vorgestellt (mehr kenne ich auch nicht):
- Nativ ohne Framework-Einsatz (mein Code sollte einen Einblick gegeben haben, wo die Knackpunkte liegen)
- "magische Lösung", bei der vieles versteckt wird und das Projekt schön klein bleibt.
Wenn du es unbedingt (aus Bildungsgründen) zu Fuß machen möchtest, schaue dir folgende Pattern an:
Observer,...
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
(fett von mir)
Der Thread heißt "Trennung von GUI und Logik".
Wenn du uns zeigen kannst, wie man ohne Vererbung diese gewünschte Trennung vollziehen kann, bin ich sofort ruhig.
Bis dahin sage ich: Wieder am Thema vorbei.
Was nützt es dem TE, wenn er es wissen will, oder wirklich benötigt?
Ein Problem wegzureden, löst es nicht.
Ein Muss, wenn du mit C# programmierst!
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
(fett durch mich)
Punkt 1: stimmt absolut.
Punkt 2: Ich weiß gerade nicht, was ich von Hand nicht machen könnte, was mir Bindings erlauben.
Beim Verbinden muss immer Information offen gelegt werden.
Beim Binding muss man angeben, welche Property verwendet werden soll.
Ich mache das mit Abstraktionen, die das - und nur das - enthalten, was der Benutzer der konkreten Implementierung wissen...
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
Dass ich auch der Meinung bin, dass MVC nicht genug entkoppelt, habe ich bereits geschrieben - man muss eben seine eigenen Architekturen (-Muster) erstellen.
In C# würde man die Bindings mit XAML herstellen.
Mir persönlich geht das aber zu weit - ich möchte im Code nachvollziehen können, was wann wo verbunden wird.
Das "schlimmste" ist in meinen Augen, dass man Methoden, Objekte (analog...
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
@Stevie:
Die Trennung ist wirklich stark, da diese komplett von der "Framework-Magic" übernommen wird.
Meine Lösung entspricht weitgehend meiner Lösung auf Seite 1 mit dem Zusatz:
procedure List.SelectIndexChange(...);
begin
TOperation(Form1.List1.SelectedItem).SetVisualComponent(MyVisualAttributes);
end;
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
Ja, dass ist eine gute Lösung.
Ich kenne diese aus C# in Verbindung mit WPF.
Geht das auch nativ? Ich bin leider schon einige Zeit aus Delphi raus.
Falls nicht: Hast du dennoch eine "hand-made-Lösung"?
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
@Luckie:
Das steht doch in meinem ersten Beitrag auf Seite 1.
Ich mache eben aus 4 Zeilen Quellcode ~80 und verteile die dann auf 3 bis 4 Dateien.
Klingt schrecklich, aber wenn man ein Beispiel mit 500 Zeilen nimmt, wird der Overhead auch nicht mehr.
Bei dem wirklich winzigen Ausgangsprogramm würde ich auch dringlichst von MVC und Co abraten, da absolut überdimensioniert.
Aber wir wollen...
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
(fett durch mich)
Dann hast du aber die Aufgabe nicht gelöst, um die es hier geht.
Allgemein:
Eine saubere Trennung erreicht man nur durch Abstraktion. Dass diese Mehraufwand beim Schreiben verursacht, sollte hier nicht das Thema sein.
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
Das muss man wirklich zugeben. Die Menge an Code wächst enorm!
Bei großen Projekten wirkt sich das irgendwann nicht mehr so stark aus - und kann auch nicht umgangen werden.
Man sollte sich (bei großen Projekten) immer die Option offen halten, die GUI einfach auszutauschen (durch HTML-Oberfläche) oder zu erweitern (unterschiedliche Anzeigen gleichzeitig - sinnvoll: keine Ahnung; möglich: ja).
...
-
Forum: Programmieren allgemein
Delphi
by SebE,
19. Aug 2011
Ich mache das immer der Art:
type
TAdditionVisualComponent = class
public:
procedure resultChangeEvent(result: integer); virtual; abstract;
end;
type