ALLINSIGHT

Home of the AlmostImplementedException

Agile Entwicklung

Besucher Pattern

Wie in meinem Beitrag über das “Nullobjekt” angekündigt, werde ich euch heute das “Visitor Pattern” (Besucher) erklären. Als ich das erste mal eine Anwendung mit Visitoren warten musste, fand ich es ein wenig verwirrend – Daher versuche ich euch es anhand meiner Erfahrung zu erklären. Das Visitor Pattern ist ein Entwurfsmuster aus der Gruppe der […]

, , , , , , , , , , ,

Fluent Interface Pattern

Chris hat bereits einige Design-Pattern wie das Null Object Pattern und das Singleton Pattern erklärt und heute ist es mir eine Freude euch das Fluent Interface Pattern vorzustellen. Dieses Pattern gibt es bereits seit 2005 und die Erfinder sind Eric Evans und Martin Fowler, wie man in seinem Blog nachlesen kann. Es ist sehr wahrscheinlich […]

Singleton

Als Vorbereitung für den Beitrag über das “Visitor Pattern” (Besucher), werden wir einen kleinen Ausflug zu den Erzeugungsmustern machen – mit dem “Singleton” (Einzelstück). Wie der Name vermuten lässt bedeutet das: Einzigartig, nur einer. Wie der Highlander: Es kann nur einen geben! Lasst uns einen Blick auf das UML Diagramm werfen. Das Singleton übernimmt die […]

, , , , , , , , ,

Nullobjekt

Wie in meinem vorherigen Beitrag über Einführung in Entwurfsmuster angekündigt, werde ich mit dem ersten konreten Beitrag über das “Null Objekt” beginnen. Dafür werden ich das Schachbrett-Beispiel aus Indizierte Eigenschaften heranziehen. Was ist das “Null Objekt”? Es ist ein Entwurfsmuster, welches zu den Verhaltensmustern zählt. Das Objekt tut nichts. Es ist repräsentativ für nichts. Das […]

, , , , ,

Einführung in Entwurfsmuster

Wie in einem vorherigen Beitrag über “Indizierte Eigenschaften” versprochen, werde ich anfangen euch ein paar Einblicke in Entwurfsmusster (Design Patterns) zu geben. Was sind Entwurfsmuster? Um es kurz zu machen: Entwurfsmuster sind universelle (Sprachunabhängige) Lösungen für wiederkehrende Probleme in der objekt-orientierten Software-Architektur und -Entwicklung. In dieser Beitragsreihe werden wir uns auf die allgemeinen Entwurfmuster von […]

, , , , , , , , , , , , , ,

Unerwartetes verhalten von foreach

Wenn ein Programm falsche Ergebnisse liefert, liegt es manchmal(!) nicht an dem Code, sondern am compilierten Ergebnis. Das ist nichts neues, aber vielen Entwicklern ist das nicht bewusst. Das heißt nicht automatisch das es einen Bug im Compiler gibt. Vielleicht erwartet man (und der Rest der Welt) einfach nur ein andere Verhalten. Heute möchte ich […]

Warum ist es unsauber return, break oder continue in einem finally-Block zu verwenden

Für meinen momentanten Auftraggeber entwickle ich Tools und Plugins für Eclipse und TTCN3 (eine Hardware Testsprache) in Java und helfe dem Entwicklerteam die Codequalität durch wöchentliche Code-Reviews zu steigern. Dabei kam letzten Freitag die Frage aus der Überschrift auf und ich dachte mir, das sie es Wert ist genauer betrachtet zu werden. Auch wenn sich […]

, , , ,

cast vs “as”

Ein weiteres schönes Beispiel für unsere Rubriken “Difference between a Duck” und “CleanCode” ist ein normaler ()-Cast und einem “as”-Cast. Warum für beide Kategorien? Nun beide machen im Grunde das selbe und welchen man verwendet ist eigentlich mehr Geschmackssache. Wichtiger hingegen ist, das beide einen anderen Denkansatz verwenden und dies ist wichtig für CleanCode. Zunächst […]

Agile Entwicklung

Seit 1999 habe ich für viele Unternehmen gearbeitet, die Agile Entwicklung eingesetzt haben, oder zumindest was sie dafür hielten. Ich habe mit SCRUM, PairProgramming, TestDrivenDevelopment (TDD), BehaviorDrivenDevelopment (BDD), Acceptance Tests und CleanCode gearbeitet. Aber ich habe nur eine handvoll von Leuten kennengelernt die verstanden haben, wie man diese Dinge im realen Leben einsetzt. Da ich […]

For vs Foreach

Manchmal, vorallem bei C# hört man viel über “Allgemeinwissen” zum Thema Performance und Fehlern von Entwicklern. Als ein (schlechtes) Beispiel möchten ich den Folgenden Post anführen über 8 Most common mistakes C# developers make(auf Englisch) und Punkt 7 im Besonderen. Alsow as ist falsch mit diesem Blogeintrag? Zunächst einmal, das sich auf einen anderen Post […]

Previous Posts