Praxis-Workshop Domain Driven Design

Event Centric Architecture
Applying Domain Driven Design

Domain Driven Design eignet sich sehr gut dazu, komplexe Domänen zu modellieren, und auf Änderungen im Modell reagieren zu können. Das Geheimnis dahinter ist die ubiquitäre Sprache, die von den Experten auf Kundenseite ebenso gesprochen wird wie von den Programmierern und ihrem Quellcode.
Mit der richtigen Architektur lässt sich die gesamte Businesslogik in ubiquitärer Sprache implementieren, und der Domänenserver als Blackbox testen, der Befehle und Ergebnisse in einfacher Prosa verarbeitet.

Was hier ein wenig wie Magie klingt, wollen wir an einem Workshop-Tag gemeinsam entzaubern. Eine kleine Beispieldomäne ist vorbereitet, und wird mit Hilfe von Messaging, CQRS und EventSourcing testgetrieben implementiert, und zwar gleichzeitig für MSSQL, MySQL, Azure und auch ganz ohne Datenbank.

Zum Auffrischen der Theorie steht die Präsentation über DDD&CQRS online zur Verfügung: Event Centric

Der Workshop

Für den Workshop ist eine Anmeldung erforderlich, die Pizza zum Mittagessen zahlt jeder selbst, die Teilnahme am Workshop kostet selbst nichts, doch würden wir uns über Spenden von Euch für die Veranstaltung sehr freuen.

Anmeldungen bitte formlos an: schmiemann@dotnet-osnabrueck.de

Event Centric Architecture
21.07.2012
09:00 – 13:00 Uhr – Session 1: Domäne, Testsystem, Eventstore
Pizza bestellen
14:00 – ~18 Uhr – Session 2: Messaging, Azure, Offene Q&A Runde.

.Space Coworking Space
Georgsstraße 18
49074 Osnabrück

User Experience / User Interfaces

Im Juli bekommen wir Besuch aus Bonn – Roland Weigelt wird uns mit seinem Vortrag zu User Experience und User Interfaces einen Einblick in die Welt der Nutzer geben. Wie gestalte ich Oberflächen, welche Konzepte haben sich bewährt, worauf sollte ein Entwickler achten und wo ist überhaupt die Grenze zwischen Design und Programmierung …? Um solche und ähnliche Fragen wollen wir an diesem Abend kümmern.

Bitte meldet Euch für diesen Vortrag formlos an – einfach per Mail an schmiemann@dotnet-osnabrueck.de.

Der Vortrag findet im .space statt und vielleicht bringt ihr eine Tüte Zeit mit, falls wir bei der Diskussion hinterher doch noch etwas länger brauchen, bzw. sich noch eine gemütliche Runde in die Altstadt verlagert…

Hier nochmal der genaue Ablauf

Teil 1: UI-/UX-Grundlagen für Entwickler
Überall dort, wo entweder kein dedizierter UI-/UX-Spezialist zur Verfügung steht oder aber dieser in Arbeit ertrinkt, ist es umso wichtiger, dass auch Softwareentwickler ein gewisses Gespür für die Gestaltung von UIs haben. Nun wird zwar niemand über Nacht zum Designer, aber der Schritt von „schlimm“ nach „brauchbar“ ist nicht so groß, wie es vielleicht scheint.

Teil 2: UI-Patterns für die Gestaltung von GUIs
Bei den Begriffen UI und Patterns mag mancher an MVC (Model View Controller) oder MVVM (Model-View-ViewModel) denken. Nicht nur in der technischen Umsetzung, sondern auch bei der Gestaltung von User Interfaces gibt es – im wahrsten Sinne des Wortes – Design Patterns. Quellen dafür gibt es einige, doch wie beim Kochen garantiert die bloße Kenntnis eines Rezepts nicht automatisch auch das Gelingen.

Veranstaltungsort:
.space
Georgstrasse 18
49074 Osnbrück

Uhrzeit:
Start ist um 18:00 Uhr und geplant sind 2-3 Stunden.
Danach geht es evtl. noch in geselliger Runde weiter.

CQRS 2 – Live Coding

Nach der Einführung in die Konzepte hinter DDD und CQRS in der letzten Session, setzten wir am Mittwoch, den 06.06.2012, im Rahmen eines Coding-Dojos das gelernte in die Praxis um. Ziel des Abends ist es, eine kleine Domäne zu definieren und samt Messaging und Eventsourcing testgetrieben zu entwickeln. Bringt bitte pro zwei bis drei Teilnehmer ein Notebook mit vorinstallierter Entwicklumsumgebung mit.

Zum auffrischen findet ihr die Präsentation vom letzten mal hier: https://docs.google.com/presentation/d/1xngZXn0XboAon24DhyE6_6nJTHCGT7QIRv3F_IxAIUI/edit

Have a nice code,
Marco Heimeshoff

Termindetails:

19:00 – 21:30

meta-objects.NET IT Solutions GmbH,
Wissenschaftspark Sedanstraße 61
49076 Osnabrück

CQRS – Review der ersten Session

bei unserem letzten Treffen haben wir uns mit CQRS beschäftigt und uns im Vortrag die wesentlichen Grundzüge eines solchen Systems angesehen. Dabei hat Marco uns die wichtigsten Elemente in der Theorie beschrieben und anhand von Beispielen den Einsatz verdeutlicht. U.a. hat er auch ein paar interessante Aspekte für agile Teams genannt, zu den es hier nun ein paar weiterführende Links gibt:

agile Spiele:
http://ksimons.de/2012/02/play-for-agile-2012-ernsthaftes-spielen-lernen/
http://p4a12.pbworks.com/w/page/46672628/FrontPage
http://www.agilefairytales.com/

Udi Dahan und Greg Young über CQRS, DDD, etc.:
http://skillsmatter.com/podcast/design-architecture/mystery-ddd

Nächste Woche wird wohl die zweite Session zum Thema folgen, in der wir das Gelernte mal in der Praxis ausprobieren wollen. Genaue Ankündigung folgt hier in Kürze.

kostenfreies Training in Bielefeld

folgender Termine könnte noch für den ein oder anderen interessant sein:

Das sind Windows 8 Trainings (kostenfrei) in Bielefeld

https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032512108&Culture=de-DE

Alle neu macht der Mai – CQRS

Hallo zusammen,

bei unserem Treffen im Mai geht es um CQRS & Domain-Driven-Design

Am 3.Mai im Wissenschaftspark wird Marco uns die Grundlagen von CQRS (Command-Query-Responsibility-Segregation) etwas näher bringen:

Domain Driven Design unleashed

Eric Evans lieferte 2003 der Entwicklergemeinde in seinem Buch Domain Driven Design („DDD“) ein Werkzeug, mit dem Business-experten, Entwickler und Tester besser miteinander arbeiten und qualitativere Software herstellen können. Trotz wachsenden Verständnisses des DDD mit den Jahren, blieb allerdings die Anwendung in der Praxis mit klassischen Architekturmustern schwierig, bis Greg Young in jüngerer Vergangenheit das Architekturmuster Command Query Responsibility Segregation („CQRS“) beschrieb. Mit Hilfe von CQRS wird das volle Potential von DDD erst entfesselt.
Do-it-yourself:
Nach einer kurzen Einführung in DDD und CQRS wollen wir gemeinsam eine kleine Domäne definieren und mittels Test-getriebener Entwicklung
implementieren. Wie man eine Domäne vollständig und implementationsunabhängig testet, welchen Rolle ein Event-Store dabei spielt und was die drei Buchstaben BDD jetzt auch noch damit zu tun haben, erfahrt ihr am 03. Mai im Wissenschaftspark.
Mit freundlichem Gruß,

Marco Heimeshoff
http://www.heimeshoff.de

Gesellig zu Ostern

Hallo zusammen,

mir ist aufgefallen, dass wir noch gar kein geselliges Treffen gemacht haben, bei dem man einfach mal bei Essen und Trinken über .Net plauscht. Das würde ich gerne mit Euch an diesem Donnerstag nachholen und schlage Euch daher vor, mit mir Essen zu gehen. Damit ich einen Tisch vorbestellen kann, meldet Euch bitte kurz per Mail, wenn ihr kommen möchtet unter schmiemann [at] dotnet-osnabrueck.de.

Mein Plan sieht vor, dass wir uns am Donnerstag (5.4.) um 18:00 Uhr am .space treffen, dann gemeinsam rüber in die Altstadt gehen, dort gegen 18:30/19:00 im Osnabrücker Pizzahaus essen und danach suchen wir uns noch eine gemütliche Kneipe für das ein oder andere Bier. Würde mich freuen, wenn’s klappt.

Gruß Sabine

März-Treffen im Wissenschaftspark – 13.3. – 19:00 – 21:30

Im März findet unser Treffen wieder im Wissenschaftspark statt.

Dabei geht es um einen Praxisbericht .NET in der Hochregalfertigung bei Westfalia.

Termin ist der 13.3.2012

19:00 – 21:30

meta-objects.NET IT Solutions GmbH,
Wissenschaftspark Sedanstraße 61
49076 Osnabrück

Clean Code am Beispiel

Bei unserem letzten Treffen haben wir zunächst über Refactoring und die wichtigsten Punkte hinter Clean Code gesprochen und danach anhand eines Codebeispiels die Praxis getestet. Dafür konnte jeder im Raum der Reihe nach seine Vorschläge einbringen und wir haben aufgrund dessen das Beispiel verändert.
Der ursprüngliche Beispielcode lag in Java vor und stammte aus dem Buch Refactoring von Martin Fowler. Den Java-Beispielcode findet ihr hier, Jens hat herausgefunden, dass schon jemand das Beispiel in C# übertragen hatte und das findet sich hier.

Wer darüber hinaus noch Interesse an weiteren Beispielen hat, oder mehr zum Thema erfahren möchte, dem sei allgemein die Seite von Martin Fowler zum Thema Refactoring empfohlen. Außerdem gibt es dort auch noch ein längeres Kapitel, das es nicht ins Buch geschafft hat, in dem aber mögliche Refactorings am Beispiel angesprochen werden.

Nächstes Treffen am 2.Februar

Unser nächstes Treffen findet wieder im regelmäßigen Turnus des ersten Donnerstag im Monat statt, d.h. wir sehen uns am kommenden Donnerstag, den 2. Februar von 18:00-20:00 im space.
Vorraussichtlich wird es ein paar Beispiele zu Clean Code, Codequalität und Softwarecraftsmanship geben.