Software entwickeln mit C#, WPF und dem MVVM-Konzept
Von Stefan Kunick
()
Über dieses E-Book
Als Programmiersprache nutzen Sie hier C# und Sie arbeiten mit der Windows Präsentation Form.
Stefan Kunick
Stefan Kunick, geboren 1961 in Villingen-Schwenningen, erlernte den Beruf des Industriekaufmanns. 1985 absolvierte er nebenberuflich eine Ausbildung zum Softwareentwickler. Später folgten weiter Vertiefungen im Bereich der Softwareentwicklung, Computersysteme und der Organistion. Seit 1988 ist er im EDV-Bereich tätig.
Ähnlich wie Software entwickeln mit C#, WPF und dem MVVM-Konzept
Ähnliche E-Books
Automatisiertes Testen: Testautomatisierung mit Geb und ScalaTest Bewertung: 0 von 5 Sternen0 BewertungenProgrammierung in Visual Basic (VB): von der promanalyse zum programm Bewertung: 0 von 5 Sternen0 BewertungenVisual Studio Release Management Bewertung: 0 von 5 Sternen0 BewertungenC# 10 – kurz & gut Bewertung: 0 von 5 Sternen0 Bewertungen.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Bewertung: 0 von 5 Sternen0 BewertungenEinstieg in TypeScript: Grundlagen für Entwickler Bewertung: 0 von 5 Sternen0 BewertungenGrundlagen der Softwareentwicklung Bewertung: 0 von 5 Sternen0 BewertungenMicrosoft Azure: Cloud Entwicklung für lokale Applikationen Bewertung: 0 von 5 Sternen0 BewertungenVue.js kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenMicroservices-Architektur: Patterns in Spring implementieren Bewertung: 0 von 5 Sternen0 BewertungenServer-Infrastrukturen mit Microsoft Windows Server Technologien: Alle Themen für das Microsoft Seminar und die Zertifizierungsprüfung MOC 20413 Bewertung: 0 von 5 Sternen0 BewertungenModerne Datenzugriffslösungen mit Entity Framework 6 Bewertung: 0 von 5 Sternen0 BewertungenVue.js für alle: Wissenswertes für Einsteiger und Experten Bewertung: 0 von 5 Sternen0 BewertungenDocker und die Containerwelt: Einstieg und Expertentipps rund um Docker-Container Bewertung: 1 von 5 Sternen1/5Microservices: Der Hype im Realitätscheck Bewertung: 0 von 5 Sternen0 BewertungenAngriffsziel UI: Benutzeraktionen, Passwörter und Clickjacking Bewertung: 0 von 5 Sternen0 BewertungenDas große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Bewertung: 4 von 5 Sternen4/5Einführung in die Programmierung mit Java: Begleitunterlagen zu dem Onlinekurs Bewertung: 0 von 5 Sternen0 BewertungenSharePoint Kompendium - Bd. 16 Bewertung: 0 von 5 Sternen0 BewertungenASP.NET Core: Eine Einführung Bewertung: 0 von 5 Sternen0 BewertungenJavaScript und Ajax: Das Praxisbuch für Web-Entwickler Bewertung: 0 von 5 Sternen0 BewertungenSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Bewertung: 0 von 5 Sternen0 BewertungenBootstrap kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenSoftwarearchitektur für Dummies Bewertung: 0 von 5 Sternen0 BewertungenPowerShell – kurz & gut: Für PowerShell 7 und Windows PowerShell 5 Bewertung: 0 von 5 Sternen0 BewertungenProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Bewertung: 0 von 5 Sternen0 BewertungenZukunftssichere Architektur: So bauen Sie monolithische Anwendungen zu komponentenorientierten um Bewertung: 0 von 5 Sternen0 BewertungenAgiles Projektmanagement: Scrum für Einsteiger Bewertung: 0 von 5 Sternen0 BewertungenBigData mit JavaScript visualisieren: D3.js für die Darstellung großer Datenmengen einsetzen Bewertung: 0 von 5 Sternen0 BewertungenAdministrator Praxis - Kleine Windows Netzwerke Bewertung: 0 von 5 Sternen0 Bewertungen
Programmieren für Sie
Eigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Bewertung: 0 von 5 Sternen0 BewertungenLinux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Bewertung: 0 von 5 Sternen0 BewertungenSQL – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenAlgorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenPython-Grundlagen Bewertung: 0 von 5 Sternen0 BewertungenJavaScript kurz & gut Bewertung: 3 von 5 Sternen3/5Python kurz & gut: Für Python 3.x und 2.7 Bewertung: 3 von 5 Sternen3/5Einstieg in TypeScript: Grundlagen für Entwickler Bewertung: 0 von 5 Sternen0 BewertungenDas Excel SOS-Handbuch: Wie sie Excel (2010-2019 & 365) schnell & einfach meistern. Die All-in-One Anleitung für ihren privaten & beruflichen Excel-Erfolg! Bewertung: 0 von 5 Sternen0 BewertungenHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Bewertung: 0 von 5 Sternen0 BewertungenSQL von Kopf bis Fuß Bewertung: 4 von 5 Sternen4/5C++: Kurzportträt einer zeitlosen Sprache Bewertung: 0 von 5 Sternen0 BewertungenPowerShell: Anwendung und effektive Nutzung Bewertung: 5 von 5 Sternen5/5Das große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Bewertung: 4 von 5 Sternen4/5XML für Eilige Bewertung: 0 von 5 Sternen0 BewertungenDas Franzis Starterpaket Arduino Mega 2560: Das Handbuch für den Schnelleinstieg Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren für Einsteiger: Teil 1 Bewertung: 0 von 5 Sternen0 BewertungenLinux Befehlsreferenz: Schnelleinstieg in die Arbeit mit der Konsole, regulären Ausdrücken und Shellscripting Bewertung: 0 von 5 Sternen0 BewertungenAndroid-Entwicklung für Einsteiger - 20.000 Zeilen unter dem Meer: 2. erweiterte Auflage Bewertung: 0 von 5 Sternen0 BewertungenWeniger schlecht programmieren Bewertung: 4 von 5 Sternen4/5Programmieren lernen mit Python 3: Schnelleinstieg für Beginner Bewertung: 0 von 5 Sternen0 BewertungenRichtig einsteigen: Excel VBA-Programmierung: Für Microsoft Excel 2007 bis 2016 Bewertung: 0 von 5 Sternen0 BewertungenMikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Bewertung: 0 von 5 Sternen0 BewertungenSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Bewertung: 0 von 5 Sternen0 BewertungenCoole Projekte mit dem Arduino™ Micro: Physical Computing im Projekteinsatz Bewertung: 0 von 5 Sternen0 BewertungenMicrocontroller für das IoT Bewertung: 0 von 5 Sternen0 BewertungenDas Franzis Starterpaket Arduino Uno: Das Handbuch für den Schnelleinstieg Bewertung: 0 von 5 Sternen0 BewertungenHTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript Bewertung: 0 von 5 Sternen0 BewertungenPython | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Bewertung: 0 von 5 Sternen0 BewertungenC von Kopf bis Fuß Bewertung: 3 von 5 Sternen3/5
Rezensionen für Software entwickeln mit C#, WPF und dem MVVM-Konzept
0 Bewertungen0 Rezensionen
Buchvorschau
Software entwickeln mit C#, WPF und dem MVVM-Konzept - Stefan Kunick
Quellen
Vorwort
MVVM – das Model View View Model-Konzept, mal wieder eine neue Idee in der Softwareentwicklung? Ja, es ist eine Variante des MVC-Konzeptes (Model-View-Controller). Im Jahr 2005 wurde das Konzept vom John Gossman veröffentlicht und gewinnt immer mehr Anhänger.
Das Buch dient Ihnen zum einfacheren Einstieg in die Materie. Es führt Sie bei der Codierung Ihrer Anwendungen von einem Punkt zum anderen. Sie sollten bei der Lektüre des Buches schon C#-Kenntnisse mitbringen und Ihre erste Hello-Word-Anwendung ist schon realisiert worden.
Im vorliegenden Buch arbeiten Sie mit der deutschsprachigen Community-Edition des Visual Studios 2015/2017 (mit den anderen Versionen geht es natürlich auch). Als Oberfläche verwenden Sie die Windows-Presentation-Form (kurz WPF). Zwischenzeitlich gibt es auch Anbieter von MVVM-Frameworks (z.B. MVVM Light oder auch Prism). Beachten Sie bei einem Einsatz eines Frameworks immer, dass ein solches Projekt auch mal eingestellt werden kann. So unterbleiben wichtige Anpassungen und Sie sitzen auf dem Trockenen. Der Vorteil liegt natürlich in der schnelleren und einfacheren Umsetzung Ihrer Projekte. In dem vorliegenden Buch lernen Sie die Grundlagen des MVVM-Konzeptes kennen.
Im Internet finden Sie hin und wieder etwas abweichende Vorschläge. Alle haben eines gemeinsam, sie führen oft zum Ziel. Teilweise kommen Sie sich vor, wie bei Opern- oder Theater-Aufführungen. Dem einen gefällt eine Inszenierung, dem anderen nicht.
An dieser Stelle möchte ich auch meiner Frau Janny für Hinweise und Korrekturen danken.
1. Wie funktioniert eine MWM-Anwendung?
1.1 Das Prinzip
In dem unten gezeigten Bild sehen Sie den Aufbau der Anwendung. Sie, als Anwender, geben in einer Anwendung Daten ein, drücken anschließend eine Schaltfläche und erhalten ein Ergebnis.
Im MWM-Konzept interagiert der Anwender mit der View. Sie haben dort alle grafischen Elemente. Von der View gehen die Daten oder Kommandos an das ViewModel. Dieses „Mittelteil" ist die Schaltstelle im Programm. Hier ein Beispiel: Sie geben eine Artikel-Nr. ein und drücken den Button Lesen. Die eingegebene Artikel-Nr. geht von der View zum ViewModel. Das ViewModel liest mit Hilfe des Models den Eintrag in der Datenbank. Im negativen oder positiven Fall gehen die Informationen zurück an das ViewModel. Das ViewModel reicht die Daten an die View weiter (die Textfelder werden gefüllt). Im negativen Fall sollte der Anwender natürlich auch informiert werden! Dazu bietet sich ein Informationsfeld an.
1.2 Näheres zu den einzelnen Komponenten
1.2.1 Die View
Die View ist ein Formular. In ihm befinden sich alle grafischen Elemente. Sie können hier sowohl die Elemente von Microsoft einsetzten oder auch die von Fremdanbietern (zum Beispiel die von Janus-Tools, Telerik oder DevExpress). Über den Weg der Datenanbindung gehen Informationen an das ViewModel weiter oder kommen auch zurück vom ViewModel an die View.
1.2.2 Das ViewModel
Das ViewModel ist eine Klasse und erbt vom Interface INotifyPropertyChanged. Dadurch „dürfen" Sie dann das Ereignis OnPropertyChanged in die Klasse einbauen. Die View nutzt über die Datenanbindung die Eigenschaften des ViewModels. In der Set-Methode einer Eigenschaft geben Sie den ankommenden Inhalt an eine Klassenvariable weiter und lösen auch ein OnPropertyChanged-Ereignis aus. Das wird besonders wichtig, wenn Sie zum Beispiel das Ergebnis einer Operation dem Anwender zugänglich machen müssen. Generell gilt: In dieser Klasse befindet sich die Präsentations-Logik. Es gibt in der Anwendung nur eine ViewModel-Klasse!
Zum ViewModel gehört noch eine Klasse für die Kommandos, die von der View an das ViewModel gehen. Diese Klasse erbt von dem Interface ICommand.
1.2.3 Das Model
Das Model beinhaltet die Geschäftslogik. In ihm greifen Sie auf Daten zu, die sich in einer Datenbank oder Datei befinden. Auch Berechnungen erledigt das Model und das Ergebnis geht an das ViewModel zurück.
1.3 Die grafischen Elemente auf dem Formular
Die einzelnen Elemente (wie TextBoxen und andere) sind mit dem ViewModel verbunden. Auch das ViewModel sendet Informationen an die einzelnen grafischen Elemente (um beispielsweise das Ergebnis einer Rechenoperation auszugeben).
Wie sieht die Sache nun in der Praxis aus? Hier sehen Sie 2 Möglichkeiten.
Das Beispiel TextBox, mit der Eigenschaft Text, gilt im Prinzip für viele Elemente. Bei Buttons und TreeViews ist es etwas anders. Das Element enthält den Text, den der Anwender auf dem Formular sieht:
Anstelle der Eigenschaft Text können Sie natürlich auch andere Eigenschaften ansprechen. Im Kapitel 4 geht das Buch näher auf die Sache ein. Doch nun geht es zu den Schaltflächen.