dotnetpro 06/2009
Schwerpunkt: Clean Code

Sie sind noch kein Abonnent? Dann wird es aber Zeit!
Weiter zur Abo-Bestellung.
Sie haben bereits ein Abonnement? Dann
registrieren Sie es jetzt online!
Zahlreiche kostenlose Online-Artikel finden Sie
hier.
Einzelheft bestellen
Aktuell
AKTUELL
(Seite 6)
Erster Release Candidate von Windows 7 und jede Menge Infos - Silverlight-Demos - Erste Preview von Moonlight 2.0 etc.
Joachim Pich
Schwerpunkt
Single Responsibility Principle (SRP)
(Seite 10)
Dieser erste Beitrag einer fünfteiligen Serie über die SOLID-Prinzipien erläutert, warum eine Codeeinheit nur für
eine einzige, klar definierte Aufgabe verantwortlich sein sollte: Nur so bleibt Software langfristig erweiterbar,
nur so kann letztlich sichergestellt werden, dass die Software die gestellten Anforderungen korrekt erfüllt.
Stefan Lieser
Von Pfadfindern lernen
(Seite 14)
Wenn es um Qualität in der Softwareentwicklung geht, reicht die Bandbreite von Ratlosigkeit über Selbstgestricktes
bis hin zu abstrakten Beschreibungen. Hilfreiche Anweisungen für das Tagesgeschäft gibt es nicht. Das will die
Initiative Clean Code Developer ändern: mit einfachen Regeln, die sich immer einsetzen lassen. dotnetpro-Chefredakteur
Tilman Börner hat in ein Clean-Code-Seminar zwei Tage hineingeschnuppert und dabei viel gelernt.
Tilman Börner
Qualität nach Plan
(Seite 23)
Eigentlich haben Entwickler viel Sinn für solche Dinge wie Programmier-Frameworks und die Wiederverwendung
von Code. Aber bei der Abwicklung ganzer Projekte wird noch viel zu oft das Rad neu erfunden. Etablierte
Vorgehens modelle können dabei helfen, Projekte zum Erfolg zu führen. dotnetpro bietet Ihnen eine Orientierung
im Wald der Managementmethoden für Softwareprojekte.
Matthias Lohrer
Community
Leserbriefe
(Seite 32)
CD-Inhalt
DVD Inhalt
(Seite 34)
Tools
JavaScript-Tools für professionelle Webseiten
(Seite 36)
Auf der Basis von JavaScript existieren inzwischen eine ganze Reihe von Werkzeugkästen, die dem Programmier profi
das Schreiben von Webanwendungen erleichtern. dotnetpro stellt die besten Toolsammlungen vor.
Bernhard Lauer
SmallBasic
(Seite 40)
Visual Basic .NET hat nur noch wenig mit der ursprünglichen Programmiersprache BASIC gemein. Es hat sich zu einer
professionellen, objektorientierten Sprache gemausert und erschwert den einfachen Programmiereinstieg.
Abhilfe soll der im November 2008 veröffentlichte neue Dialekt Small Basic aus dem Hause Microsoft schaffen.
Dieser bietet einfache Datentypen, vorgefertige Objekte und einen übersichtlichen Sprachumfang.
Andreas Maslo
Integranova Programmiermaschine
(Seite 47)
Programmieren – ist von gestern. Heute ist Modellieren angesagt. Jedenfalls tritt die Model Driven Architecture mit
dem Anspruch auf, die nächsthöhere Abstraktionsebene für die Softwareentwicklung gefunden zu haben.
Der Hersteller Integranova bietet unter dem Oberbegriff „Programmiermaschine“ eine integrierte Lösung für eine
solche modellgetriebene Entwicklung. dotnetpro stellt sie vor.
Andreas Maslo
Bücher
Zu dienen ist sein Begehr
(Seite 54)
Am Anfang gründete sich der Erfolg von Microsoft vor allem auf DOS, Windows und Office. Doch im letzten Jahrzehnt engagierte sich der Hersteller auch stark im Serverbereich. Interessanterweise brachte Microsoft hier nicht nur ein Produkt, sondern eine ganze Serverfamilie auf den Markt.
Jan Tittel
Sandbox
Gut gezielt ist halb getroffen
(Seite 58)
Heute frage ich mal ganz direkt: Was ist eigentlich Ihr Ziel bei der Softwareentwicklung? Mit welchem Ziel arbeiten Sie an Ihrem Code? Haben Sie eine Antwort parat?
Ralf Westphal
Praxis
Serie Office-Programmierung: Excel: Berechnungen und Werte in Zellen hinzufügen/ändern
(Seite 102)
Das ListObject-Steuerelement von VSTO können Sie einfach an Daten binden und für die Programmierung verwenden,
ohne das Objektmodell von Excel durchlaufen zu müssen. Ab Visual Studio 2008 SP1 steht dieses Feature auch
in Add-ins auf Anwendungsebene zur Verfügung.
Jan Tittel
Jquery unter .NET
(Seite 104)
Das Ajax-Framework jQuery hat sich in der Web-2.0-Szene einen exzellenten Ruf erworben. Microsoft will jQuery sogar
in künftige Versionen von .NET integrieren. Dieser Artikel zeigt den einfachen Einstieg in die Arbeit mit der Bibliothek
und ihre Integration in ASP.NET und SharePoint.
Oliver Pistor
FlexDB mit LINQ, Teil 2
(Seite 108)
Suchen, abfragen, filtern – das ist das tägliche Brot vieler Anwendungen. Die SearchService-Komponente erleichtert
dem Entwickler die Implementierung dieser immer wiederkehrenden Aufgabe. Metainformationen über die
abgefragten Daten und eine flexible Benutzerschnittstelle ermöglichen den vielseitigen Einsatz.
Andreas Gerlach
Drum prüfe, wer sich ewig bindet
(Seite 60)
Der Wunsch, eine Datenbank irgendwann gegen eine beliebige andere austauschen zu können, ist alt. Die jeweiligen
spezifischen Merkmale einer Datenbank erschweren dies jedoch teils stark. Die Wahl der richtigen Datenbank will also von
Anfang an gut überlegt sein. dotnetpro hat Datenbanken für .NET verglichen, um Ihnen die Entscheidung zu erleichtern.
Golo Roden
Test Driven Development
(Seite 66)
Wie können Sie Code schreiben, der möglichst fehlerfrei, robust und leicht änderbar ist und es auch bleibt?
Wie implementieren Sie nur wirklich benötigte Funktionalität und sind von Anfang an auf die zu
erwartenden Änderungswünsche des Kunden vorbereitet? dotnetpro stellt eine Technik vor, mit der man
diese Ziele erreichen kann: die testgetriebene Entwicklung.
Gabriel Schenker
Mocking
(Seite 74)
Bei der testgetriebenen Entwicklung müssen auch die Interaktionen eines Objektes mit seiner Umgebung überprüft
werden. Dazu wird seine Umgebung nachgebildet. Das geschieht mit Stub- oder Mock-Objekten. Dabei handelt es sich
um Fälschungen oder Simulationen realer Objekte.
Gabriel Schenker
DataMining mit SQL Server: AMO und ADOMD.NET
(Seite 81)
Wer seine eigenen Anwendungen um Data-Mining-Funktionalitäten ergänzen will, kann dafür die Klassenbibliotheken
AMO und ADOMD.NET nutzen. dotnetpro zeigt in diesem Artikel, wie Sie damit Ihre Mining-Modelle erstellen,
verwalten und verwenden können.
Jan Tittel
Deployment Tools Foundation, DTF
(Seite 88)
Für die Installation von Anwendungen stellt der Windows Installer ein Framework für standardisierte Setups
zur Verfügung. Da bleiben die individuellen Anforderungen an einen Installationsvorgang oft unberücksichtigt.
Diese lassen sich mit benutzerdefinierten Aktionen jedoch selbst programmieren und einbinden – mit der
Deployment Tools Foundation auch in einer .NET-Sprache wie C# oder Visual Basic.
Andreas Kerl
Fuzzing-Tests mit PEX und CrashTest.Net
(Seite 96)
Testen ist ein wesentlicher Teil des Entwicklungsprozesses von Software. Unzählige Testtools sind verfügbar und decken
viele Bereiche ab. Dazu gehören auch Tools für die Testmethode Fuzzing. Sie erzeugen automatisch
viele hundert Testfälle.
Nico Franze
Mono
Viel Neues in Mono 2.4
(Seite 114)
Während sich diese Kolumne in den beiden vorangegangenen Ausgaben mit Jabber und XMPP unter Windows und
Mono beschäftigte, ist die Entwicklung von Mono nicht stehen geblieben. Es gibt viel Neues zu berichten!
Jan Waiz,
Daniel Nauck
Tipps und Tricks
TextReader & XmlNode
(Seite 115)
Dank der Anregung eines Lesers ist die Methode ICompare.IsBetween nun flexibler
geworden. Neu hinzu kommen diesmal ein TextReader mit der Methode IterateLines
sowie etliche neue Methoden, welche den Umgang mit XML erleichtern.
Patrick A. Lorenz
Kochen mit Patrick
(Seite 116)
Auch in der vierzigsten Folge dieser Kolumne dreht sich noch einmal alles um ASP.NET, insbesondere um dessen
Kompilierungsmodell und wie man es sich geschickt zunutze macht. Das monatliche Rezept kommt diesmal ohne
Fleisch aus, lassen Sie sich überraschen!
Patrick A. Lorenz
Animationen für die WPF
(Seite 120)
WPF-Anwendungen präsentieren Bilder nur selten in statischer Form. FluidKit ist eine leistungsfähige Open-Source-
Steuerelementbibliothek, mit deren Hilfe Sie Ihre Grafikanwendungen aufwerten können.
Andreas Maslo
WPF-Grafik-Tuning
(Seite 124)
Immer mehr kostenfreie WPF-Controls konkurrieren erfolgreich mit kommerziellen Steuerelementen. dotnetpro stellt
einige der interessantesten neuen WPF-Controls vor, mit denen Sie Grafiken anzeigen sowie Daten visualisieren
und zur Anwahl bereitstellen.
Andreas Maslo
Architektur
Kolumne
(Seite 126)
Parallelverarbeitung können Sie auch anders implementieren als mit den üblichen Threads. Mit dem richtigen
Framework können Sie einfach Aufgaben für Dienste zur Ausführung „einplanen“, indem Sie ihnen Nachrichten
schicken. Die Concurrency and Coordination Runtime von Microsoft macht das möglich.
Ralf Westphal