2016-04-05 13 views
1

Ich bin ziemlich neu in der Welt der GUI-Programmierung und habe eine einfache GUI für eine Anwendung geschrieben, die ich in C# erstelle. Die GUI ist ziemlich einfach und besteht nur aus einer einzigen Windows-Form. Meine Frage bezieht sich auf die Standardverfahren für die Objektorientierung mit GUI und deren Benutzereingaben.C# - Windows Form Design

In meiner GUI-Klasse habe ich derzeit Membervariablen für alle GUI-bezogenen Objekte (Schaltflächen, Beschriftungen, Auswahlboxen usw.), aber ich habe auch Variablen, die die Benutzereingaben speichern (zB selectedFilePath, latIndex, longIndex, etc) .), die ihre Werte einfach an andere Objekte weitergeben, wenn der Benutzer auf "Ausführen" klickt. Ist es üblich, diese Variablen in der gleichen Klasse zu belassen, bis eine Schaltfläche angeklickt wird, und sie entweder an ein anderes Objekt weitergibt oder ein anderes Objekt erstellt oder sollte ich etwas anderes tun?

aktuelles UML-Klassendiagramm: Sample Class Diagram

Dave

Antwort

2

Nein, ist es gängige Praxis UI-Schicht aus Ihrer Präsentation Logik-Schicht zu trennen Ihre UI so sauber und leicht zu halten (und damit als prüfbar) wie möglich. Dies hat auch den zusätzlichen Vorteil der Einhaltung der separation of concerns. Es gibt viele Muster, die Sie studieren können, um dies zu erreichen: MVVM, MVC, MVP und so weiter.

Normalerweise möchten Sie nur, dass Ihre UI-Klassen Elemente enthalten, die spezifisch für die bestimmte UI-Technologie (d. H. Steuerelemente usw.) sind.

Auf diese Weise können Sie Mock-Klassen für alle Ihre UI-Elemente erstellen, die Sie dann mit Ihrem bevorzugten Test-Framework verwenden können, um Tests mit der Präsentationslogik und der zugrunde liegenden Geschäfts- und Domänenlogik zu erstellen.

+0

Dank Roryap, ich hatte das Gefühl, das war nicht der richtige Weg, es zu tun, und jetzt weiß ich es. Ich wollte nicht anfangen, etwas zu bauen, nur weil es falsch ist. –

+0

@DaveT - Kein Problem. Viel Glück. –