|
Level 400 steht in Developerkreisen bekanntlich für technisches Deep-dive. Dieser Track ist für Entwickler zusammengestellt, die schon alles wissen und die eine neue Herausforderung suchen.
Behandelt werden fortgeschrittene Softwaredevelopment- und Softwarearchitektur-Themen. In diesem Track sind Sie richtig, wenn Sie Ihre eigenen Erfahrungen mit denen anderer Softwareentwickler vergleichen oder in ausgewählte Themen tiefer einsteigen möchten. Achtung, Geek-Alarm :-)
|
Flexibel sein! Konfigurierbare Strukturen & Logik in .NET Anwendungen Level: 400
Saal C
10:45 - 11:45
Flexibel sein! Konfigurierbare Strukturen & Logik in .NET Anwendungen
Level: 400
Mit dieser Session richtet sich Rainer Stropek an alle Entwickler, die konfigurierbare Anwendungen für ein breites Zielpublikum erstellen müssen. Wie ermöglicht man kundenspezifische Anpassungen der Datenstrukturen? Wie kommt man mit wenig Aufwand zu einer Scriptsprache für die eigene Applikation? Rainer gibt Antworten auf diese Fragen, die schon jetzt, noch ohne C# 4.0 praktisch einsetzbar sind.
Keywords:
Konfiguration, Datenstrukturen, Scriptsprache, C# 4.0
Baumschule - Expression Trees in C#, CLR und DLR Level: 400
Saal C
12:00 - 13:00
Baumschule - Expression Trees in C#, CLR und DLR
Level: 400
Als Anwendungsentwickler kommt man selten in Berührung mit Expression Trees; sie sind ein Implementierungsdetail von LINQ. Ihre Bedeutung nimmt jedoch durch die zunehmende Beliebtheit von dynamischen Sprachen auf Basis der DLR zu! Rainer Stropek zeigt in seiner Session, was hinter Expression Trees steckt. Wie werden sie von LINQ genutzt und warum sind sie für C# 4.0, IronPython & Co so wichtig?
Keywords:
Expression Trees, C#, CLR, DLR, LINQ, C# 4.0, IronPython
Fesselspiele – Data Binding Deep Dive Level: 400
Saal C
14:00 - 15:00
Fesselspiele – Data Binding Deep Dive
Level: 400
Trennung von UI und Logik – alles schön und gut. Aber wie kommen die Daten ins Frontend? Die meisten erfahrenen Entwickler haben in den letzten Jahren die verschiedenen Data Binding Konzepte in Technologien wie WinForms oder ASP.NET kennengelernt. In der Praxis haben diese jedoch oft versagt. In WPF und Silverlight wurde ein neuer Versucht gewagt – diesmal erfolgreicher. In der Session zeigt Rainer Stropek wie Data Binding in WPF und Silverlight in Verbindung mit MVVM eingesetzt werden kann. Er wirft einen Blick hinter die Kulissen, stellt die besonderen Herausforderungen in Silverlight hinsichtlich asynchronem Arbeiten vor und erklärt auch die Grenzen von Data Binding.
Keywords:
Data Binding, WPF, Silverlight, MVVM
Agile Softwareentwicklung mit Dependency Injection, Mocking und Aspekten Level: 400
Saal C
15:15 - 16:15
Agile Softwareentwicklung mit Dependency Injection, Mocking und Aspekten
Level: 400
Ein wesentlicher Bestandteil von agilen Softwareentwicklungsprojekten ist testgetriebene Softwareentwicklung. Schnelle Entwicklungszyklen stellen neue Anforderungen an die Softwarearchitektur. Es muss nicht nur die Problemdomäne addressiert werden sondern auch der Entwicklungsprozess berücksichtigt werden. Wie man dieses Ziel erreichen kann zeigen wir anhand des Dependency Injection Containers autofac, Mocking Framework Moq und Aspektorientierung auf Basis von Castle.DynamicProxy2.
Inhalt:
- Was ist anders bei iterativer, testgetriebener Softwareentwicklung?
- Problem, Verminderung der starren Kopplung von Komponenten durch Dependency Injection
- Testgetriebener Entwicklung: Isolieren der Komponenten mittels Mocking
- Herauslösen horizontaler Funktionalitäten mittels Aspektorientierung
Keywords:
Agile Softwareentwicklung, Dependency Injection, Mocking, Aspektorientierte Programmierung, test-driven development, autofac, Moq, Castle.DynamicProxy2
Behavior Driven Development applied in unit testing Level: 400
Saal C
16:30 - 17:30
Behavior Driven Development applied in unit testing
Level: 400
Developer life was good in the golden age of the waterfall: big upfront designs left no surprises for later implementation, code documentation was a piece of cake as nobody else read it anyway, and testing was something developers just heard of remotely through a department called “QA”. But things have changed for the worse with the rise of agile methodologies: designs are ruined by requirements coming in weekly and code that was already working perfectly suddenly breaks. Now, business wants to collaborate directly and is interested in details of the implementation, meaning that documentation can no longer be kept on the back burner. And QA is asking for a high coverage of unit tests out of the blue, causing big overheads to write and maintain them with all these ongoing changes. However, a lot of concepts have been introduced that promise to ease the pain: IoC helps us reduce dependencies in the code, BDD helps us focus on the next functionality to deliver, TDD helps us structure code for testability and Fluent Interfaces are a way of building DSLs that help us communicate with business. This talk will show how we put these concepts into practice in a project that followed an agile methodology. We’ll show how IoC helped us stay flexible, and how we structured our unit tests in a way that described the expected behavior and could also be understood by business. The source code of the supporting infrastructure we built will be made available to you after the talk as a download.
Keywords:
Behavior Driven Development
|