Nach Hinten für alles offen. Open/Closed für Einsteiger

Ergänzend zu dem kurzen Artikel, den es hier zum Open/Closed Pattern bereits Ende 2012 gegeben hat, wurde nun die Aufzeichnung der dazu passenden Session auf der Developer Week 2013 auf Youtube veröffentlicht.

Viel Spaß beim Anschauen!

 

 

Die #dwx13 – Ein geglücktes Experiment?

Die Neue Mediengesellschaft lud dieses Jahr unter dem Titel “Developer Week 2013” Interessierte aus den Sparten .NET Entwicklung, Mobile Entwicklung und Web-Entwicklung zu einer Woche gespickt mit spannenden Themen und präsentiert von 120 Speakern nach Nürnberg ein. Erstmalig wurden dazu die drei Konferenzen MDC, WDC und DDC zusammengelegt und boten somit Entwicklern wie auch Testern, Managern und Designern die Chance, auch Abseits ihrer Komfortzone einfach mal schnuppern zu gehen.

Und das hat gewirkt. Die Resonanz aus dem Publikum hat gezeigt, dass es die Besucher auch zu themenfremde Gebiete gezogen hat. Die Neugier auf Technologien, die ansonsten weniger den eigenen Werkzeugkoffer füllen, hat die Entscheidung im nachhinein gerechtfertigt: Aus dieser Sicht ist das Experiment geglückt! Es zeigt aber auch, dass antrainiertes Scheuklappen-Denken langsam aufweicht und die Grenzen verschwimmen. Da beschäftigt sich der Java-Entwickler auf einmal mit Windows Clients und der Web-Entwickler entwirft Oberflächen für Smartphones.

Windows Entwickler freuen sich über Cross Plattform Development und alle lechzen nach sozialer Kompetenz. Wo früher die abgestandene Cola und die kalte Pizza Schreibtische von übernächtigten Entwickler zierten, wird heute nach der idealen Life-Work-Balance geforscht und irgendwo konnte man lesen: Weibliche Softwareentwicklerinnen trinken Bionade und ernähren sich vegan. Software Development ist hipp und so sind es auch die Tools, die Hardware und letztlich auch die Konferenzen.

Da weichen Bullet-Point Listen humoristischen Slideshows auf Megaleinwänden und es werden Touchdisplays smarter Devices mit modernen Projektoren an die Wand geworfen. Die Speaker werden zuvor mit Funkmikrofonen verkabelt und haben eine Stunde lang die Chance, sich wie Stars auf einer großen Bühne zu fühlen. Der eine oder andere hat die Gelegenheit auch genutzt und konnte dabei ein reichhaltiges Repertoire an zum Teil hochspezialisiertem Know-How präsentieren. Um Gauß gerecht zu werden sei aber auch erwähnt, dass das nicht allen gelungen ist.

Bei 120 Speakern ist es kaum möglich, ausschließlich bekannte Gesichter mit salonfähigen Themen auf das Publikum loszulassen. Während sich so auch Neueinsteiger freuen konnten, die Gelegenheit zu bekommen sich auf einer solchen Plattform zu profilieren, hatte dann halt derjenige Pech, der durch seine Session-Auswahl zumeist an die unerfahreneren Speaker geraten ist. So richtig polarisiert hat eigentlich keiner; lediglich der Vergleich zwischen Nicht-Clean-Code-Developern und Meth-Abhängigen in der Abschluss-Keynote von Ralf Westphal stieß auf Befremden. Aber auch das konnte den Inhalt der bilderreichen Präsentation gegen systemrelevante Größen nicht überschatten.

Unterm Strich lässt sich auf jeden Fall sagen: Die #dwx13 war ein geglücktes Experiment, das mit hochwertiger, technischer Unterstützung - und mit dem NCC Messezentrum auch in einer exklusiven Location - eine Konferenz der Superlative aus dem Boden gestampft hat! Die Vielfältigkeit der Sessions ließ kaum zu wünschen übrig und der Kontakt zu sowohl den Speakern als auch den Ausstellern führte zu interessanten Diskussionen und dem Austausch von Ideen und vielleicht sogar neuen Geschäftskontakten. Optimiert werden kann hier nur im Detail: Exklusive Abendveranstaltungen für ausschließlich “geladene Gäste” wirken selbst für hippe Entwickler etwas elitär und die ständige Suche nach den Sessions könnte entfallen, gäbe es eine eindeutigere Zuordnungen zu den Räumen – nicht jeder weiß wo Shanghai liegt… in dieser Hinsicht hat das NCC Messezentrum nicht nur das Treppenhaus mit Hogwarts gemein.

Die TOP TECHNOLOGIES hat sich riesig gefreut, an dem Event teilnehmen und dabei auch eigene Themen rund um Softwarearchitektur und –entwicklung präsentieren zu können. Auch im Mainstream konnten sich Themen wie z.B. die Near Field Communication (mit Windows 8 und Windows Phone 8), Testing mit dem eher wenig bekannten Microsoft Fakes Isolation Framework oder auch die an Einsteiger gerichtete Architektur-Session zum Thema Open/Closed Principle behaupten, fanden großen Anklang beim Publikum und führten zugleich zu neuen Anregungen. So soll es ja auch sein.

In diesem Sinne auch von uns ein ganz herzliches Dankeschön an die Besucher der #dwx13 im Allgemeinen und unserer Sessions im Speziellen! Natürlich gilt unser Dank auch der gelungenen Organisation der Konferenz und der wunderbaren Referenten-Betreuung!

Bis zur nächsten Developer Week in 2014.

Ein TOP Job für Dich. Worauf wartest Du?

Die TOP TECHNOLOGIES wächst.

Und zu einem intelligenten Wachstum gehört es, dass wir pfiffige neue Kollegen finden. Die Wahrscheinlichkeit ist dabei zwar hoch, dass sich auf diesem Blog hauptsächlich Bitschubser aufhalten, das soll den IT-Flüsterer, den Lizenz-Jongleur und den Gantt-Planer aber nicht davon abhalten, sich auch bei uns zu bewerben. Wir suchen derzeit für alle unsere vier Geschäftsbereiche Nachwuchs!

Mehr Informationen gibt es auf unserer Website im Bereich Karriere oder z.B. über unsere TOP Jobs Windows Phone App:  

 

Ankündigung: Die DWX 2013.

 

Wer in den letzten Jahren häufiger Entwickler-Konferenzen besucht hat, wird sich dieses Jahr über den Schritt der Neuen Mediengesellschaft Ulm freuen, die die drei spannendsten Konferenzen DDC, MDC und WDC zusammengelegt hat und damit eine Konferenz der Superlative anbietet. Etwa 200 Speaker werden in 40 Thementracks mit mehr als 250 Sessions verteilt auf drei Tage jedes Bit umkehren, jede Plattform auf Links ziehen, jede moderne Architektur durchleuchten und jeden Teilnehmer rundum mit den spannendsten Themen versorgen, die unsere Branche zu bieten hat.

Die TOP TECHNOLOGIES CONSULTING freut sich darauf auf der Developer Week 2013 mit eigenen Beiträgen dabei sein zu können:

Konferenztag 2

Session: Nach Hinten für alles offen: Open/Closed für Einsteiger
Track: Architektur, DDC, 11:45 - 12:45 Uhr
Speaker: Christian Jacob

Diese Session zeigt anhand eines für jeden nachvollziehbaren Beispiels das Open Closed Principle auf Basis des sog. Strategy Pattern und baut dabei pädagogisch sinnvoll auf folgende Lerneinheiten auf:

  • Die übliche Herausforderung
  • Die übliche Lösung (inkl. Schmerztabletten, denn DAS TUT WEH)
  • Die Erkenntnis und das Refactoring (Step by Step... uh Baby.... <- Sorry, ich konnte nicht widerstehen)
  • Die Lösung II (Erleuchtung garantiert!)

Session: Teilen kann so einfach sein!
Track: Cross-Plattform, MDC, 17:45 - 18:45 Uhr
Speaker: Marcus Jacob

Diese Session zeigt anhand einer Windows 8 und Windows Phone 8 Beispielanwendung, welche Voraussetzungen für Tap & Share via NFC und Bluetooth Datenübertragung notwendig sind und wie dieses Szenario implementiert werden kann. Dank der Portable Class Library natürlich auch mit größtmöglichem Code-Sharing, um schnell und einfach Apps für beide Welten zu entwickeln.

Konferenztag 3

Session: Vortäuschen geht (fast) immer schneller
Track: Tools, DDC, 15:00 - 16:00 Uhr
Speaker: Christian Jacob

'Attrapenbau leicht gemacht mit Stubs und Shims' wird das Thema dieser Session. Dass das Testen mit Mocks nicht nur Arbeit erleichtert, sondern auch die Performance steigert wird nachweislich zeigen: Vortäuschen geht (fast) immer schneller! 

 

Microsoft hört zu. The Power of Fakes finally unleashed!

Wer diesen Blog regelmäßig verfolgt, wird bemerkt haben, dass wir ein reges Interesse am Microsoft Fakes Isolation Framework zeigen. Hier eine kurze Auflistung der Artikel, die es sich lohnt in diesem Zusammenhang mal zu überfliegen. Danach kommt die News des Jahres!

Und hier die News des Jahres

Nachdem sich fast 1.500 Benutzer auf uservoice.com dafür ausgesprochen haben, dass das Microsoft Fakes Isolation Framework nicht nur in der Ultimate Edition verfügbar sein sollte, hat Microsoft entschieden, Fakes mit dem Update 2 für Visual Studio 2012 auch für die Premium Version verfügbar zu machen! Das ist insbesondere deshalb eine vernünftige Entscheidung, da sich Fakes anderenfalls bereits mittelfristig zu einem Rohrkrepierer entwickelt hätte. Der Grund: Der Vorgänger Moles funktioniert unter Visual Studio 2012 nicht mehr und eine Migration zu Fakes brachte niemandem etwas, der nicht mit der Ultimate Edition arbeitet. Die Unit Tests, die Fakes einsetzen, funktionierten nicht einmal mehr in der Ausführung unter anderen Editionen als Ultimate. Und das können sich viele Teams schlichtweg nicht leisten.

Brian Harry schreibt in seinem aktuellen Blogartikel im Zusammenhang mit dem Update 2 mehr darüber.

Artikel dotnetpro 02/2013: Manchmal hilft nur noch Schwindeln. Das Microsoft Fakes Isolation Framework

“Schreibst Du noch Boiler Plate Code, oder testest Du schon?” Wer sich hier angesprochen fühlt und sich schon lange fragt, wie Unit Tests einfacher umzusetzen sind sobald es um Dateizugriffe, Datenbanken, Sharepoint & Co geht, der wird sich über den Artikel zum Microsoft Fakes Isolation Framework in der aktuellen Ausgabe der dotnetpro freuen.

Übersichtlich und auf den Punkt gebracht gibt es hier einen Einstig in Stubs und Shims. Mehr darüber hier: http://www.dotnetpro.de/articles/onlinearticle4355.aspx.

Viel Spaß beim Lesen!

Tipp

Passend dazu gibt es auch noch auf Vimeo eine Aufzeichnung der Session “Visual Studio Evolution – Unit Testing und das Microsoft Fakes Framework” hier: http://vimeo.com/51921293.

Update: Alles kostenlos: Wissen. Prüfung. HTML5. CSS3.

Windows 8 hat den Markt erreicht. Windows Phone 8 ist ebenfalls auf einem sehr guten Weg. Und seit dem überlegen Softwareentwickler, wie sich das auf sie auswirkt. Denn viele sind noch nicht auf den HTML5 Zug aufgesprungen und zögern derzeit noch, den Weg mitzugehen: Immerhin ist der Wissensaufbau mit Aufwand und i.d.R. auch mit Kosten verbunden.

Die gute Nachricht: Die Kosten übernimmt Microsoft, und für den Aufwand wurde alles getan, um Softwareentwicklern den schnellen und einfachen Einstieg in die neuen Technologien zu ermöglichen.

Unter http://www.microsoft.com/learning/en/us/html5-offer.aspx ist es möglich, einen kostenlosen Gutschein für die Prüfung 70-480 zu erhalten (Programming HTML5 with Javascript and CSS3).

Für eine optimale Vorbereitung zu dieser Prüfung sorgt Microsoft zudem mit einem kostenlosen Kurs, der sich über 6 Module erstreckt und dabei folgende Themen beleuchtet:

  1. HTML Semantic Structure
  2. CSS3 Selectors and Style Properties
  3. Advanced Layout and Animation
  4. JavaScript Core Capabilities
  5. DOM Interactions
  6. Advanced Topics

Jedes Modul umfasst dabei Video-Trainings, Code Samples und Lernzielkontrollen. Für die Teilnahme an den Modulen gibt es Punkte, die dem eigenen Konto in der Microsoft Virtual Academy gutgeschrieben werden.

Und nun:

Viel Spaß beim Lernen, Zertifizieren und dem erfolgreichen Einstieg in den Microsoft Store mit modernen, intuitiven und produktiven Apps!

[Update]

Nachdem vor wenigen Tagen verkündet wurde, dass die Vouchers nach einem überwältigenden Ansturm aufgebraucht seien, hat Microsoft das Kontingent jetzt erneut aufgestockt. Es gilt wie zuvor auch: Verfügbarkeit der Gutscheine bis Ende März oder bis sie erneut aufgebraucht sind.

Überblick über das komplette Angebot

  1. Free Exam - Get a free voucher to take exam 70-480: Programming in HTML5 w/ JavaScript + CSS3. Find the voucher code. http://aka.ms/HTML5OfferMVA
  2. Free Training - Want to learn HTML5 or brush up before taking the exam? Sign up to access the free online HTML5 course. http://aka.ms/HTML5OfferMVA
  3. Free eBook - Courtesy of Microsoft Press, "Programming Windows 8 Apps with HTML, CSS, and JavaScript"  http://aka.ms/win8apps-ebook
  4. Free Events - Microsoft Learning Partners are holding #TechShowcase events around the world. Find and attend one near you: http://aka.ms/TechShowcase

Der Entwickler-Almanach. Mit Powerlaschen!

Das Times Magazine der Softwareentwickler, die dotnetpro, hat dieser Tage einen Jahresrückblick 2012 veröffentlicht. Den Entwickler-Almanach. Ein kurzer Blick in die Glaskugel hat sogar ein wenig Platz für einen Ausblick 2013 eingeräumt.

Das Who-is-Who der Szene, repräsentiert durch Tilman Börner, Ralf Westphal, Golo Roden, Sven Hubert und einigen mehr, hat sich die Zeit genommen, um vergangene Highlights des Jahres 2012 Revue passieren zu lassen und in mehreren Artikeln zu Themen wie Windows 8, Surface & Co beleuchten, was sich für Softwareentwickler ändert.

Auch wird natürlich mit Patrick gekocht; gleich zwei weihnachtliche Menügänge stellt Patrick A. Lorenz basierend auf Rezepten vor, die im vergangenen Jahr den einen oder anderen Hobby-Entwickler-Koch inspiriert haben dürften.

Besonders amüsant findet der Almanach dann einen gelungenen Abschluss mit einer nicht ganz ernst gemeinten Twitter-Timeline, die man gelesen haben muss. @timcook #ftw.

Nach hinten offen… OCP für Einsteiger

Nicht selten begegnet einem in gewachsenen Projekten Quellcode wie dieser:

if (this.Known)
{
  if (this.Age >= 18)
  {
    if (this.Gender == 0)
    {
      switch (this.Status)
      {
        case Status.Married:
          result = "{0} is a known male married adult.";
          break;

Was hier passiert ist leicht beschrieben: Verschiedene Eigenschaften einer Klasse bestimmen ihr Verhalten, das in einer Form von den Eigenschaften abhängig ist, so dass ein Entscheidungsbaum scheinbar die einzige Möglichkeit ist, der Sache Herr zu werden.

Softwareentwickler kennen auch die Probleme, die daraus entstehen: Die Komplexität steigt bei gleichbleibend sinkender Wartbarkeit. Der Code lässt sich irgendwann schlicht und einfach nicht mehr überblicken. Neue Verhaltensweisen hinzuzufügen erscheint ohne vorhergehende Impact-Analyse kaum machbar und falls doch ausprobiert endet es in der Regel in einem Desaster.

Die im Titel dieses Beitrages erwähnte Abkürzung OCP beschreibt dabei die Lösung mit drei simplen Worten: Open Closed Principle. Ausgesprochen steht das für “Eine Klasse soll offen für Erweiterungen aber geschlossen gegenüber Veränderungen sein”. Das ergibt soweit Sinn und klingt nach einem erstrebenswerten Ziel.

Mehr ins Detail dazu gehen verschiedene Webseiten, darunter allen voran natürlich Wikipedia, aber auch z.B. cleancodedeveloper.de.

TOP TECHNOLOGIES Learn & Research Labs

Da die meisten Beispiele aber eher steril daherkommen und strukturell auch so einfach gehalten sind, dass jeglicher Realitätsbezug fehlt, hat die TOP TECHNOLOGIES auf codeplex ein Projekt veröffentlicht, das im ersten Anlauf genau dieses Thema aufnimmt und anhand einer Virtual Lab Dokumentation das Open Closed Principle Schritt für Schritt erläutert. Dabei wird der Leser an die Hand genommen und zunächst durch ein Negativbeispiel geführt, um dann über ein schrittweises Code-Refactoring zu einer vollständigen OCP-Lösung zu gelangen.

Der Dokumentation liegt eine komplette Visual Studio 2012 Solution bei, die als Grundlage dient und auch als Zip-Archiv von der Quellcodeverwaltung entkoppelt heruntergeladen werden kann.

Am Ende des Labs angekommen hat der Entwickler das Open Closed Principle verstanden und kennt auf Basis des sog. Strategy Patterns eine Möglichkeit, es umzusetzen. Ein wenig Experten Know How rundet das Thema noch zusätzlich ab.

Wir freuen uns auf Feedback und hoffen, dass das Thema Anklang findet! Geplant ist, das Projekt um weitere Themen zu ergänzen; gerne nehmen wir auch Vorschläge auf!

Visual Studio… jetzt doch “on the go”!

Erinnert sich noch jemand an den Marketing-Gag von Microsoft vom 1.4.2010? Gezeigt wurde auf Youtube ein Video, das eine mobile Version vom Visual Studio 2010 auf einem Windows Phone zeigt (wir berichteten). Das Beispiel “Hallo Welt!” wurde in atemberaubendem Tempo direkt auf dem Smartphone entwickelt und dabei begleitet mit den Worten:

Nutzen Sie Gestensteuerung. Programmieren Sie jede beliebige Anwendung mittels 14.000 leicht merkbaren Gesten.

Spätestens hier war klar: Ganz so ernst, wie der Sprecher aus dem Off klingt, konnte das nicht gemeint sein. In Zeiten von Intellisense sind wir doch froh, wenn wir uns wenigstens die Schlüsselwörter unserer Lieblingsprogrammiersprache merken können. Aber auch im Nachhinein lohnt sich ein Blick auf das Video, denn zum einen scheint es nicht nur das neue Visual Studio 2012 “PowerPoint Storyboarding” inspiriert zu haben, zum anderen wurde es mittlerweile sogar von der Realität eingeholt.

Weil es so schön war…

Ein Vergleich zum neuen Visual Studio 2012 Feature “PowerPoint StoryBoarding” drängt sich z.B. durch eine der Sessions aus der Visual Studio 2012 Evolution auf. Im Clip “Effiziente Teams mit TFS 2012” zeigt Chris Binder eine End-To-End Story aus dem virtuellen Unternehmen Fabrikam, bei der u.a. auch Mockups des Windows Phone einbezogen werden.

image

On the go. Reimagined.

Besonders spannend ist nun aber, dass nicht einmal zwei Jahre später mit der Windows Phone App touchdevelop ein Programm aus dem Microsoft Research Lab den Weg in die Freiheit gefunden hat, das so gigantisch ist, dass wir in Zukunft sicher noch das ein- oder andere Mal davon berichten werden. Nur so viel vorab: Auch ohne 14.000 leicht merkbare Gesten lassen sich mit touchdevelop direkt auf dem Windows Phone Anwendungen entwickeln, die Zugriff auf das gesamte Gerät inklusive seiner Sensoren hat, mit Events umgehen kann und schlussletztlich es auch ermöglicht, die Lösungen in die Cloud hochzuladen.

Von dort wiederum können andere Anwender touchdevelop Apps über einen integrierten Marketplace direkt auf ihr Gerät herunterladen und wenn gewünscht auch als Kacheln auf dem Hauptbildschirm ablegen. Neben der Möglichkeit, Anwendungen sogar in den Windows Phone Marketplace zu bringen, so dass Anwender sie auch ohne touchdevelop nutzen kann, wurde vor kurzem sogar eine Web App Preview Version von touchdevelop vorgestellt. Sie läuft aktuell unter Windows 8 im IE10 (und einigen anderen Browsern) und bietet nahezu die gleiche Experience wie die Windows Phone Variante, überträgt dabei das Konzept aber auf den Desktop, das Tablet oder sogar den touchfähigen Flatscreen an der Wand. Wir sind uns sicher: touchdevelop wird sich auf dem Microsoft Surface großer Beliebtheit erfreuen. Außerdem können die Apps nun sogar im Windows Store für Windows 8 bereitgestellt werden.

Die gesamte touchdevelop Story zeigt dieses Video sehr eindrucksvoll:

 

Über die Autoren

Christian Jacob ist Leiter des Geschäftsbereiches Softwarearchitektur und -entwicklung und zieht als Trainer im Kontext der .NET Entwicklung sowie ALM-Themen Projekte auf links.

Marcus Jacob fokussiert sich auf die Entwicklung von Office-Addins sowie Windows Phone Apps und gilt bei uns als der Bezwinger von Windows Installer Xml.

Martin Kratsch engagiert sich für das Thema Projektmanagement mit dem Team Foundation Server und bringt mit seinen Java- und iOS-Kenntnissen Farbe in unser ansonsten von .NET geprägtes Team.

Aktuelle Kommentare

Comment RSS