KISS Prinzip

November 30, 2009 by Johnny.Walker · Leave a Comment 

Ein weiteres Prinzip in der Anwendungsentwicklung.

KISS!

Damit ist aber nicht die Band gemeint sonder wieder eine Abkürzung.

KISS steht für KEEP IT SIMPLE, STUPID!

Gemeint ist damit, den einfachsten Weg bei der Entwicklung einer Lösung zu gehen. Auch wenn es evtl. interessanter ist einen komplexeren Algorithmus zu schreiben kostet das aber Zeit und damit Geld.

Mit so wenig Aufwand die gestellte Aufgabe so gut wie möglich  zu lösen – das ist das Ziel!

Na dann probieren wir’s mal :)

So long…

DRY Prinzip

November 29, 2009 by Johnny.Walker · Leave a Comment 

In der Anwendungsentwicklung gibt es verschiedene Richtlinien, die einem dabei helfen übersichtlicheren Code zu schreiben.

Eines dieser Prinzipien nennt sich DRY.

DRY steht für Don’t Repeat Yourself!

Ein guter Hinweis. Denn gibt es funktionalen Code, den man per Copy ‘n’ Paste in einer anderen Methode verwenden möchte ist man gut beraten stattdessen diesen Code in eine separate Methode auszulagern.

Muss nähmlich an dieser Logik etwas geändert werden, erfolgt die Änderung nur an einer Stelle – in der ausgelagerten Methode.

Das hilft Code zu schreiben, der besser wartbar ist.

Viele IDEs haben dafür auch eingebaute Funktionen, die es dem Programmierer erlauben vorhanden Code schnell zu überarbeiten. image

Hier im Beispiel die “Extract Method…” Funktion in Visual Studio 2008.

Wenn man sich an dieses einfache Prinzip hält wird der Code um vieles leichter wartbar.

So long…

Singleton Pattern

October 8, 2009 by Johnny.Walker · Leave a Comment 

Das Singleton Pattern erlaubt es einem Programmierer von einer Klasse genau eine Instanz zu erstellen. Auf die Methoden und Eigenschaften dieser Klasse kann man von überall her zugreifen.

namespace MyApplication
{
    class Singleton
    {
        // instance of Singleton Class
        private static Singleton instance;
        // constructor set to private!
        private Singleton()
        {
        }
        // methode to access this class and all methodes
        // within Singleton Class
        public static Singleton getInstance()
        {
            if(instance == null)
                instance = new Singleton();
            return instance;
        }
        // a methode that you like to get access to
        public void DoSomethingVerySpecific()
        {
            // Does something very specific
        }
    }
    class SomethingElse
    {
        public void DoSomething()
        {
            // calling the methode from anywhere
            Singleton.getInstance().DoSomethingVerySpecific();
        }
    }
}

Was benötigt man nun um eine Klasse als Singleton zu implementieren?

Der Konstruktor wird private gesetzt, sodass man von außen keine Instanz dieser Klasse erstellen kann. Als nächstes benötigt man eine Variable vom Typ der Singletonklasse. Diese wird ebenfalls private und auf static gesetzt.

Wie kommen wir nun an die Methoden und Eigenschaften dieser Klasse?

Wir schreiben eine public Methode getInstance(). Diese Methode prüft, ob die Variable instance schon einmal initialisiert wurde. Wenn nicht, wird die Variable initialisiert (innerhalb der Klasse können wir ja auf den Konstruktor zugreifen) und zurückgegeben.

Jetzt können wir in anderen Klassen über Singleton.getInstance().DoSomethingVerySpecific() auf die Singletonklasse zugreifen.

Soviel erstmal dazu.

So long…