AGB  ·  Datenschutz  ·  Impressum  







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

MVP richtig in Delphi implementieren?

Ein Thema von normancz · begonnen am 18. Apr 2012 · letzter Beitrag vom 24. Mai 2012
 
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.045 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: MVP richtig in Delphi implementieren?

  Alt 29. Apr 2012, 02:41
Ich wünschte, jedesmal, wenn irgendjemand nen Post schreibt, in dem DSharp vorkommt, bekomm ich ne PM oder so

Erstmal mein ehrliches tiefes Beileid, dass du Delphi 2010 nutzt. Dort DSharp (bzw allgemein Source mit Generics etc) zum Laufen zu bringen, ist auch für mich das eine oder andere Mal ein Graus.

Ich muss nochmal nachfragen: möchtest du "nur" eine Trennung von GUI und Businesslogik oder auch noch die Steuerung über einen DI Container?
Zweites gestaltet sich zugegebenermaßen nicht immer so einfach durch die Gegenspieler TComponent und IInterface (bzgl der Steuerung ihrer lifetime).

Ich gehe hier erstmal auf den ersten Punkt ein, da er imo einfacher zu realisieren ist. Ich würde hier eine Art MVVM ohne extra ViewModel benutzen. Also eine Klasse, die die "Geldaufteillogik" und die entsprechenden Properties: wie viele 1, 2, 5, 10 Euro und Gesamtbetrag beinhaltet.

Diese sind mit Bindings ganz einfach an dein View knüpfbar. So weit, so gut. Man kann nun die unterschiedlichen Beträge einstellen.

Die Visualisierung kannst du unterschiedlich gestalten. Eine Möglichkeit wäre ein extra ViewModel, in der du die Eigenschaften, die du visuell darstellen willst (rot markierte Controls, Warnsymbol, ausgegrauter OK Button, etc) extra definierst und sie bei Änderung der einzustellenden Properties (die Anzahl der Geldbeträge in dem Beispiel)

Eine andere Möglichkeit, wäre mit Bindings und ValueConvertern. Zum Beispiel ein negativer Betrag auf clRed oder ähnliches.


Ob du nun das ganze händisch zusammen baust oder über einen DI Container, ist die anschließende Entscheidung. Auch, inwieweit der DI Container genutzt wird. Dient er nur als Container für einige Teile oder wird er schon von Anwendungsstart (wie z.B. im ContactManager Beispiel von DSharp) an genutzt. Davon hängt nämlich dann ab, wie du mit der "TComponent vs Interfaces" Sache umgehst (hab gerade keinen Link, aber die Sache haben wir hier im Forum auch schonmal besprochen). Auch die Art und Weise, wie du dann View und (View)Model zusammen setzt, hängt davon ab.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  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 23:07 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