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…
Filed under work-related · Tagged with .Net Framework (C#), Clean Code Developer, Prinzipien
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.
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…
Filed under work-related · Tagged with .Net Framework (C#), Clean Code Developer, Prinzipien
Automatisierte Installation .Net Framework 3.5 SP1 (MOSS 2007 – Teil 2)
November 14, 2009 by Johnny.Walker · Leave a Comment
Dieser Post ist Bestandteil einer mehrteiligen Serie zum Thema Installation des Microsoft Office SharePoint Servers 2007. Die Installation soll weitestgehend automatisiert über Skripte laufen.
Als Testkonfiguration verwenden wir einen Server 2008 x86, SQL Server 2005 Express mit SP3 und die Testversion von Microsoft Office SharePoint Server 2007.
Silentinstallation des .Net Frameworks 3.5 SP1
Für die Installation des Microsoft Office SharePoint Servers 2007 benötigt man zumindest das Framework 3.0. Da die Version 3.5 SP1 ne Menge Sicherheitslücken stopft empfielt es sich gleich dieses Framework zu installieren.
Filed under work-related · Tagged with .Net Framework (C#), Batch, Sharepoint, Tipps
Installation von Team Foundation Server 2010 Beta1
October 14, 2009 by Johnny.Walker · Leave a Comment
Als angehender Entwickler muss man sich natürlich auch mal über Revisionierung von Code und allgemein um dessen Verwaltung Gedanken machen.
Da nun der Team Foundation Server 2010 Beta1 vor kurzem erschienen ist, habe ich mich dazu entschlossen diese Version testweise mal zu installieren.
Filed under work-related · Tagged with .Net Framework (C#), Team Foundation Server 2010
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…
Filed under work-related · Tagged with .Net Framework (C#), Clean Code Developer, Prinzipien
Zahlen aus einem Textabschnitt extrahieren mit C#
October 7, 2009 by Johnny.Walker · Leave a Comment
Manchmal hat man eine Textpassage die eine Zahl beinhaltet. Und genau diese Zahl hätte man nun gerne ausgelesen.
// extract int from string
private int extractIntFromString(string s)
{
int i = 0;
string str;
try
{
// get number from string
str = string.Join(null, System.Text.
RegularExpressions.Regex.Split(s, "[^\\d]"));
// convert type to int
i = int.Parse(str);
// return int i
return i;
}
catch(Exception e)
{
// show errormessage
MessageBox.Show(e.ToString());
// return i, in that case 0
return i;
}
}
Diese Methode gibt die extrahierte Zahl als Integer zurück.
Man verwendet hierbei die Join-Methode von string und identifiziert alle Zahlen mit Hilfe einer Regular Expression.
Auf jeden Fall ein Thema, das es lohnt sich genauer anzuschauen.
So long…
Filed under work-related · Tagged with .Net Framework (C#)
Text/HTML Datei speichern mit C#
October 7, 2009 by Johnny.Walker · Leave a Comment
Um einen Text- bzw. HTML-Datei (ist ja auch nur Text) in C# abspeichern zu können geht man folgendermaßen vor:
public void WriteFile(string s)
{
// Stream als File speichern
Stream myStream;
string sString = s;
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "HTML Report(*.html)|*.html";
saveFileDialog1.FilterIndex = 2;
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((myStream = saveFileDialog1.OpenFile()) != null)
{
StreamWriter wString = new StreamWriter(myStream);
wString.Write(sString);
wString.Close();
}
}
}
Die Methode nimmt einen String auf und legt diesen als Textdatei ab. Zum Abspeichern wird der aus der Windowswelt bekannte Dialog verwendet um im Dateisystem navigieren zu können.
Der Filter im Code gibt an, welchen Dateityp die Methode verwenden soll um den Text abzuspeichern.
Der String muss natürlich schon HTML Code enthalten. Eine automatische Umwandlung und Ergänzung von HTML Tags erfolgt nicht.
Find ich ganz nützlich um z. B. Fehlerberichte oder ähnliches aus dem Programm dem Benutzer als HTML Dokument zur Verfügung zu stellen.
So long…
Filed under work-related · Tagged with .Net Framework (C#)
Einträge ins Windows Eventlog schreiben mit C#
October 6, 2009 by Johnny.Walker · Leave a Comment
Wie man eigene Einträge ins Windows Eventlog schreiben kann soll folgende Methode zeigen:
public void WriteToLog(string source, string log, string message)
{
if(!EventLog.SourceExists(source))
EventLog.CreateEventSource(source, log);
EventLog.WriteEntry(source, message, EventLogEntryTyp.Warning);
}
source ist die Quelle des Events. Z. B. der Name deiner Applikation.
log ist die Kategorie unter der die Events eingetragen werden. Man kann hier die vorhandenen verwenden oder auch eigene erstellen.
message ist die eigentliche Nachricht, die im Eventlog festgehalten wird.
Um die Abhängigkeiten aufzulösen fehlt nun noch ein:
using System.Diagnostics;
Eine interessante Quelle zu diesem Thema ist die MSDN Seite von Microsoft:
So long…
Filed under work-related · Tagged with .Net Framework (C#)
Dateien in einem Ordner löschen mit C#
October 6, 2009 by Johnny.Walker · Leave a Comment
Folgende Methode verdeutlicht, wie man Dateien in einem Ordner löschen kann
private void DeleteFiles(string path)
{
string[] fileList = Directory.GetFiles(path);
foreach (string file in fileList)
{
FileInfo fi = new FileInfo(file);
fi.Delete();
}
}
Zunächst listet man alle Dateien in einem Ordner auf und löscht danach jede einzelne mit Hilfe einer Schleife.
So long…
Filed under work-related · Tagged with .Net Framework (C#)
Ordner auf vorhandene Dateien überprüfen mit C#
October 4, 2009 by Johnny.Walker · Leave a Comment
Auf diesem Weg kann man einen Ordner überprüfen und schauen, ob dieser Dateien enthält oder nicht.
private bool checkIfFilesExists(string path)
{
string[] fileList = Directory.GetFiles(path);
if (fileList.Length > 0)
{
return true;
}
else
{
return false;
}
}
Über Directory.GetFiles(pathToDirectory) erhält man eine komplette Auflistung aller Dateien in dem Ordner.
Und so kann man schauen wieviele Dateien in dem Ordner sind.
Kann man z. B. einsetzen für ein Pollingsystem.
So long…
Filed under work-related · Tagged with .Net Framework (C#)
-
Backend
-
Categories
-
Recent Posts
-
Archives
-
Blogroll