Kurs-Übersicht
Moderne Softwareentwicklung
01 | ÜberblickWas macht moderne Software-Entwicklung aus?
05 | Erweiterbare ArchitekturKann gewachsene Architektur effizient sein?
02 | ProjektmanagementWie funktioniert modernes Projektmanagement
06 | Continous Delivery & Dev OpsAusliefern und betreiben
03 | Test-Management Wie funktioniert Testen im agilen Umfeld?
07 | Entwickler-ProduktivitätOptimales Arbeitsumfeld für Entwickler
04 | ProjektkommunikationEffizient kommunizieren – Klarheit schaffen
08 | Team PowerPotenziale effizienter Teams nutzen
Oberstes Ziel: Entkopplung
Trennung
-Daten
-Orchestrierung
-Logik
Sackgassen-
methoden
Komponenten-
orientierung
IoC
Interfaces
MVVM / MVCSingle
Responsibility
POCOs
Solid Design Principleshttp://en.wikipedia.org/wiki/Solid_(object-oriented_design)
O
S
L
I
D
Single ResponsibilityThere should never be more than one reason for a class change.
Open/closed PrincipleA module should be open for extension but closed for modification.
Liskov Substitutability PrincipleSubclasses should be substitutable for their base classes.
Interface Segregation PrincipleMany client specific interfaces are better than on general purpose
interface.
Dependency Inversion PrincipleDepend upon Abstractions. Do not depend upon concretions
{C#}
Klassische Struktur
SplitLine
DB
ReadData
Recognize
Integrations-Test
SplitDigit
Recognize Digit Unit-Test
Integrations-Test
Integrations-Test
Integrations-Test
Sackgassen-Methoden
SplitLine
DB
ReadData
Recognize
Integrations-Test
SplitDigit Recognize Digit
Integrations-Test
Unit-Test Unit-Test Unit-Test
Warum Inversion of Control (IoC)?
Recognize instanziert eine konkrete Implementierung
Codeänderung an Recognize nötig wenn eine andere Implementierung genutzt werden soll
Recognize
TextFileReader
XMLReader
{C#}
Mit IoC
Recognize nutzt IReader
IReader wird durch IoC Container gem. Konfiguration instanziiert
Keine Änderungen am Code selber
Recognize
TextFileReader
XMLReaderIR
ead
er
IoC
Co
nta
ine
r
{C#}
Demo
Agile Architektur
Vorteile entkoppelter Architektur für Unit-Tests
Nutzung von IoC für Mocking
Architektur-Tools in Visual Studio– Layer-Diagramme
– Code Maps
– Code Clone Detection
– Sequence Diagramms
©2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Top Related