Dotnet Day Franken 2014 – Fümpf Joa echd woa

Am vergangenen Wochenende war ich das erste Mal beim Dotnet Day Franken in Nürnberg und muss nun sagen, dass ich absolut begeistert bin. Da ich als Sprecher, sowie durch die Saxonia Systems AG als Sponsor, vor und hinter die Kulissen schauen konnte, habe ich natürlich tiefere Einblicke gewonnen als der übliche Teilnehmer und so speist sich meine folgende Rückschau auch aus den unterschiedlichen Sichten auf das Event.

Weiterlesen »

IconToggleButton für Windows 8

Da ich für eine App einen Togglebutton mit Icon brauchte, habe ich mir einen Style für den AppBarToogleButton geschrieben, der diesen so umgestaltet, dass er wie der normale ToggleButton aussieht. Zugegebener maßen, der Aufwand ist gering und es ist auch etwas schmutzig gelöst, da kein Text angezeigt wird. Es erfüllt aber alle meine Anforderungen.

Weiterlesen »

Toast Notifications in Windows 8

Als ich das erste Mal eine Toast Notification unter Windows 8 verwenden wollte, war ich doch ein wenig verdutzt. Der gesamte Vorgang wirkte auf mich etwas eigenartig, da er sich sehr von dem unterscheidet was man sonst so von WPF und Co. gewöhnt ist. Sehen wir uns aber einfach mal an wie man vorgehen kann.

Weiterlesen »

Xaml: ViewModel für die Designzeit

Wenn es etwas gibt, dass ich bei der Nutzung von Xaml besonders mag, dann ist es die strikte Trennung zwischen Logik und Darstellung. Alles was zur Darstellung gehört, wird in Xaml geschrieben, die Logik wiederum findet sich im testbaren ViewModel. Dies erlaubt eine einfache Trennung der Verantwortlichkeiten und eine Parallelisierung der Arbeit, weil Designer und Entwickler unabhängig von einander arbeiten. Damit der Designer dabei auch wirklich unabhängig vom Entwickler, nicht aber an diesem vorbei, arbeitet, sollten sich beide auf eindeutige Schnittstellen einigen. Das Wort „Schnittstelle“ kann dabei ruhig wörtlich genommen werden. Denn wenn sich beide zum Beispiel auf ein Interface für ein ViewModel einigen, kann es anschließend zwei dieser ViewModels geben. Eines, das nur die Logik für die Anzeige enthält und eines mit der tatsächlichen Logik die zur Laufzeit gebraucht wird.

Weiterlesen »

Qualität, aber bitte agil!

Gestern war ich bei Agile Saxony und habe über die unterschiedlichen Schulen des TDD gesprochen und wie sie sich auf unsere Arbeitsweise auswirken. Für mich besonders interessant war dabei die Diskussion am Ende meines Vortrages. Denn anscheinend war meine Vortragsweise etwas negativ konnotiert, wodurch ich eher skeptisch als überzeugt gewirkt haben muss. Ich war sehr übernächtigt, daher entschuldigung an dieser Stelle, wenn der Vortrag nicht die sonst übliche Qualität hatte.

Weiterlesen »

Coded UI Test: Validierung auf UI Ebene prüfen

Ein wiederkehrendes Problem das es zu lösen gilt wenn man typische Oberflächen testen möchte, ist die Prüfung auf einen Validierungsrahmen. Solche Rahmen werden immer dann eingesetzt wenn der Nutzer auf eine Falscheingabe hingewiesen werden soll. Dummerweise kann die UI Automation uns keine Informationen über jene Rahmen geben, da sie sie selbst nicht kennt. Wie also vorgehen?

Weiterlesen »

Prism: Target einer Navigation finden

Eine Sache die ich immer mal wieder bei Kisoksystemen brauche, ist die Ermittlung eines Navigationsziels mit Prism. Das heißt, ich habe einen bestimmten Workflow und sobald von einer View in eine andere navigiert werden soll, muss ich noch ein paar Aktionen ausführen, falls die Zielansicht bestimmte Eigenschaften aufweist.

Weiterlesen »

„Ausprägungen des TDD“ aka „Die Triangulations-Baby-Step-Holzkeule“

Ich gebe gern zu, dass ich mich am Anfang eher schwer mit TDD getan habe. Der Grund dafür war, dass die Lehren die ich aus Büchern und Dojos zog, so gar nicht in meinen Entwickleralltag passen wollten. Kleine Umsetzungsschritte die nicht selten durch sinnlos scheinende Zwischenaktionen geprägt waren, haben mich fast zur Weißglut getrieben. Wenn ich dann TDD anwendete verzichtete ich also auf diese Schritte und fand mich nach einiger Zeit wiederum damit konfrontiert, dass meine Tests viel zu komplex wurden und die angeblichen Vorteile von TDD praktisch nicht präsent waren.

Weiterlesen »