- [Alt + 0] - Startseite
- [Alt + 1] - Navigation
- [Alt + 2] - Inhalt
- Kontakt - [Alt + 3]
- [Alt + 4] - Sitemap
- [Alt + 5] - Suche
.NET Software Architektur
Der Kurs behandelt drei Aspekte von Anwendungen: Qualität des Codes, Modellierung und Layer. Ein schwacher Code hat seinen Preis. Design-Prinzipien, gängige Praktiken wie Refactoring und Testing, statische Analysen, Messungen und Rahmen für semantische Korrektheit helfen, diesen Preis niedrig zu halten. Bei der Modellierung gibt es wenige Sicherheiten zumindest in Bezug auf Best Practices. Darum werden Tools, Technologien und Praktiken überarbeitet und verfeinert. Wir kehren zu den Säulen der Objekt-Orientierung zurück und stellen domain-zentierte, verhaltensfokussierte Modeling-Techniken vor. Das genaue Festlegen von exakten Layern in der Domain einer Lösung ist der Schlüsselfaktor, um Wartbarkeit, Erweiterbarkeit und Testbarkeit quer über die horizontalen Sektoren einer typischen Applikation zu garantieren – Präsentation, Geschäftsdaten. Der Kurs enthält Beispiele, die auf den neuesten Technologien wie Managed Extensibility Framework, Code Contracts, Entity Framework 4, NHibernate, ASP.NET MVC basieren.
Ziele
Die Teilnehmer lernen bzw. vergegenwärtigen sich die, Muster und Prinzipien der Software-Architketur. Damit sind sie nicht auf Rezepte von außen beschränkt, sondern haben das Wissen aus eigener Kraft stabile und effektive Applikationen zu entwerfen. Die Teilnehmer werden sich über die Bedeutung von 3 Aspekten von Anwendungen klar: Code, Modellierung und Layer
Zielgruppe
- IT Entscheidungsträger
- Architekten
- Entwickler
Inhalt
Day 1: Writing Clean Code
From requisites to design
- Use-cases
- Methodologies Universal principles of OOD
SOLID principles and their (systematic) application
- Single responsibility
- Dependency injection
- Liskov principle
- Inheritance and composition
Testability, design by contract in C# and unit testing
- Code Contracts in C#
- Unit testing and Design
- Mocking
Day 2: Design of Layered Solutions - Central Body
Layered architecture
- Application logic
- Data representation
- Data storage
- Infrastructure
Business Layer
- Patterns for organizing the business logic (Active Record, Table Module)
- Domain Model
- Aspects of DDD
Orchestration
- Service Layer
- Exposing domain entities
- DTO vs. Entities
- Service layer and DAL injections
Day 3: Design of Layered Solutions—Head and Tail
Data Access Layer
- Persisting domain models
- O/RMs
- The Repository pattern
- Repository and dependency injection
Patterns for the presentation
- Model View Presenter
- MVVM for WPF and Silverlight
- Presentation and injection of services
Voraussetzungen
Die Teilnehmer sollten sich schon Gedanken über Softwarearchitektur gemacht haben bzw. sich darin versucht haben. Dabei sollten sie zu dem Schluss gekommen sein, dass sie nicht restlos mit dem Ergebnis zufrieden waren, bzw. alles was sie getan haben eventuell nicht in gleicher Weise wiederholen können.
Methode
50% Slides, 50% Code. Der Code wird nur gezeigt –keine Labs.



