Ich hätte gerne einen Tipp, wie Sie die Benutzeroberfläche und die Geschäftslogik in einer einfachen C # Windows Forms-Anwendung trennen können.
Nehmen wir das Beispiel:
Die Benutzeroberfläche besteht aus einer einfachen Textbox und einer Schaltfläche. Der Benutzer gibt eine Zahl zwischen 0 und 9 ein und klickt auf die Schaltfläche. Das Programm sollte 10 zur Nummer hinzufügen und das Textfeld mit diesem Wert aktualisieren.
Der Teil der Geschäftslogik sollte keine Ahnung von der Benutzeroberfläche haben. Wie kann dies erreicht werden?
Hier ist die leere Prozessklasse (Geschäftslogik):
%Vor%Die Voraussetzung ist:
Ich weiß nur nicht, wie ich diese beiden verbinden soll.
Zuerst müssen Sie Ihren Klassennamen ändern. " Prozess " ist der Name einer Klasse in der Klassenbibliothek und verursacht wahrscheinlich Verwirrung bei jedem, der Ihren Code liest.
Nehmen sie an, für den Rest dieser Antwort, die Sie die Klassennamen geändert MyProcessor (immer noch ein schlechter Ruf, aber nicht eine bekannte, häufig verwendete Klasse.)
Außerdem fehlt Ihnen der zu überprüfende Code, um sicherzustellen, dass es sich bei der Benutzereingabe tatsächlich um eine Zahl zwischen 0 und 9 handelt. Das ist im Code des Formulars und nicht im Klassencode angebracht.
Doppelklicken Sie in Visual Studio auf die Schaltfläche, um den Ereignishandler für das Klicken auf die Schaltfläche zu erstellen, der folgendermaßen aussieht:
%Vor%Fügen Sie im Ereignishandler Code hinzu, so dass er wie folgt aussieht:
%Vor%Die Klasse sollte bei richtig eingestelltem Zugriffsmodifizierer wie folgt aussehen:
%Vor%Machen Sie Ihre 'Prozess' Klasse öffentlich (und wie @DavidStratton sagt, ändern Sie den Namen):
%Vor% Ich würde sagen, dass Sie Ihren string
Wert von TextBox.Text
zu einem int
analysieren sollten:
Sie können zum Beispiel eine andere Klasse namens "Process.cs" erstellen. Methoden, die eine Verarbeitung oder Datenberechnung beinhalten, bewegen Sie dorthin. In Ihrem Fall zum Beispiel:
%Vor%Ihr Klickereignis auf der Benutzeroberfläche ruft Ihre "Prozessschicht" auf:
%Vor%Auf diese Weise wird Ihre Geschäftslogik, wie z. B. das Berechnen, getrennt gehalten. Wenn sich Ihre Benutzeroberfläche ändert, können Sie einfach die Methode myProcess.AddTen () aufrufen, unabhängig davon, ob es sich um ein Web-, Windows- oder ein mobiles Formular handelt.
Tags und Links c# user-interface events business-logic