AGB  ·  Datenschutz  ·  Impressum  







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

Grundsaetzliche Struktur bei MV*

Ein Thema von hzzm · begonnen am 7. Mai 2018 · letzter Beitrag vom 8. Mai 2018
 
hzzm

Registriert seit: 8. Apr 2016
103 Beiträge
 
Delphi 10 Seattle Professional
 
#4

AW: Grundsaetzliche Struktur bei MV*

  Alt 8. Mai 2018, 07:55
Wäre über eine Factory ggf. möglich sich die Singleton-Instanz geben zu lassen.
Waere moeglich, oder ist State-of-the-Art die Situation zu behandeln?
Wer gibt denn dann diese Controller-Instanzen raus? Main-Objekt haelt sie, alle neben-units (unter-units), die sich gegenseitig brauchen, holen sich Interfaced von Main dann die Nachbar-Controller-Instanz?
Bringt mir das seitens der ASM-Zugriffe nachher tatsaechlich Vorteile?


wie man den entsprechenden Teil (Controller, Presenter, ViewModel) erstellt
Um ViewModel, Model, View oder Presenter geht es mir gar nicht. Dass sich diese Zusammenhaenge aus dem jeweiligen Pattern ergeben, ist schon klar.
Es geht nur um das ueberliegende Controller(-artige) Objekt.

Grundsätzlich möchte ich aber von Singleton oder globaler Variable abraten, denn das führt die Verwendung des Patterns ad absurdum.
Okay, ich hab anscheinend irgendwas verpasst. Reden wir mal ueber MVC explizit:
Von diesem Beitrag:

Main project file:
Delphi-Quellcode:
var
  Model: TModel;
  Controller: TController;
begin
  Application.Initialize;
  Application.CreateForm(TMainForm, MainForm);

  Model := TModel.Create;
  Controller := TController.Create(Model, MainForm);

  Application.Run;

  Controller.Free;
  Model.Free;
end.
Es bleibt - wie bei allen Beispielen die ich finde - unklar, wie auf benachbarte Controller-Instanzen zugegriffen wird.

Delphi-Quellcode:
var
  ApfelModel: TModel;
  ApfelController: TController;
  SaftpresseModel: TModel;
  SaftpresseController: TController;
begin
  Application.Initialize;
  Application.CreateForm(TMainForm, MainForm);

  ApfelModel := TModel.Create;
  ApfelController := TController.Create(ApfelModel, MainForm);
  SaftpresseModel := TModel.Create;
  SaftpresseController := TController.Create(SaftpresseModel, MainForm);

  Application.Run;

  ApfelController.Free;
  ApfelModel.Free;
  SaftpresseController.Free;
  SaftpresseModel.Free;
end.
Alles klar, aber inhaltlich benoetigt ist Apfel uses Saftpresse .
Und nun? Die beiden Controller liegen ja nur als fluechtige Instanzen so nebeneinander rum.

Geändert von hzzm ( 8. Mai 2018 um 09:34 Uhr) Grund: Okay, ich hab' in dem verlinkten Beispiel was uebersehen
  Mit Zitat antworten Zitat
 


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 03:05 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