Posted by
Michael Morbach
Mai
28
Inzwischen ist es gute 4 Monate her, seit ich meinen letzten Blogeintrag hier gemacht habe. Es stand viel Arbeit an und ich habe für meine Verhältnisse sehr viele Erfahrungen im .NET Bereich gesammelt. Nicht zuletzt wegen meines Arbeitsplatzes bei istis, wo ich nun seit November 2009 als Junior Softwareentwickler arbeite.
Seit dem Release von Visual Studio 2010 habe ich mich auch mehr dem Thema WPF gewidmet. Mein aktuelles Praxisprojekt, welches in der Uni als Vorraussetzung für die Bachelorarbeit gilt, handelt ebenfalls von der Entwicklung einer verteilten WPF Anwendung in Zusammenarbeit mit einem WCF Service.
Kurzum : Eine WPF Anwendung mit SOA Architektur und dem MVVM Pattern als WPF Anwendungsarchitektur.
In diesem Projekt arbeite ich auch mit dem MS RibbonControl Framework, welches jedoch leider schon ziemlich veraltet ist und von Microsoft zur Zeit überarbeitet wird. Veraltet empfinde ich es aus dem Grund, da es keinerlei Support für das MVVM Pattern bietet. Trotzdem setzen wir es bei uns in der Firma ein, in der Hoffnung, dass es nach dem Release der neueren Version einfacher sein wird die Komponente zu ersetzen.
Es ist allerdings auch nicht völlig unmöglich, das Framework in Kombination mit dem MVVM Pattern einzusetzen, auch wenn es leider etwas umständlicher ist. Aus diesem Grund habe ich für alle die mit dem Thema noch nicht sehr vertraut sind und nach einem Tutorial suchen ein solches geschrieben und in mein SVN Repository hochgeladen.
Vorraussetzung für den Einsatz ist jedoch die Assembly des MS RibbonControl Frameworks welches bei Microsoft kostenfrei lizensiert und eingesetzt werden kann (Einfach auf “Office UI lizensieren” klicken und registrieren – es ist KOSTENFREI).
Hier ein paar Vorschaubilder wie die Beispielanwendung aussieht :


Das Projekt könnt ihr in meinem Projekt Repository herunterladen oder direkt lesen
Posted by
Michael Morbach
Jan
28
Ich habe heute meinen Umstieg von Visual Studio 2008 auf Visual Studio 2010 Beta 2 gewagt. Hintergrund war, dass ich die Entwicklung des ArmyGen jetzt vorläufig erst einmal einstelle, da ich das Tool aufgrund der Bestimmungen von Games Workshop nicht so veröffentlich dürfte wie ich es ursprünglich wollte.
Direkt habe ich mich auch in ein neues Unterfangen geschmissen. Ich werde mich die nächste Zeit mehr mit WPF befassen und ein paar Kartenspiele implementieren, bevor ich dann letztendlich dazu kommen werde ein eigenes Kartenspiel zu entwickeln. Da auch bald meine Bachelorarbeit für mein Studienabschluss ansteht, passt es zeitlich auch grade sehr gut sich mit etwas zu befassen, was noch sehr neu ist und ggf. wird sich auch meine Bachelorarbeit mit WPF befassen.
Ich hoffe, dass mir der Umstieg auf Visual Studio 2010 mehr Unterstützung bei der Entwicklung von WPF Anwendungen bieten wird, was aber gleichzeitig auch bedeutet, dass alle meine Projekte in meinem SVN Repository nicht mehr mit Visual Studio 2008 kompatibel sein werden. Das heißt, dass ihr ( wenn ihr kein VS 2010 besitzt ) zwar die Sourcedateien noch runterladen könnt, aber ein eigenes VS2008 Projekt erstellen müsst.
Für meine Kartenspiele hab ich heute vorweg schon einmal einen “Randomizer” geschrieben, welcher einem “IShuffler” Zufallszahlen generiert, damit dieser wiederrum meine Karten mischt. IShuffler ist nur ein Interface für Mischalgorithmen, welches dann beispielsweise in einem Kartendeck eingebunden werden kann. Konkret implementiert habe ich bisher aber nur den “FisherYates” Mischalgorithmus, welcher mir aber auch schon als einer der effektivsten erscheint.
Die Implementierung der Klassen könnt ihr euch in meinem Repository ansehen.
Posted by
Michael Morbach
Jan
14
Für einen Entwickler ist es im Alltag immer wichtig einen gut lesbaren und möglichst intuitiven Code zu schreiben. D.h. andere Entwickler sollten schnell verstehen können worum es geht und was welche Methode macht und das ggf. sogar ohne Dokumentation ( auch wenn diese natürlich unverzichtbar ist ). Optimal ist dies der Fall, wenn ein Methodenname so eindeutig ist, dass jeder weiß was sie macht.
Auf folgende Dinge sollten geachtet werden :
- Benutze keine Unterstriche oder ähnliche, nicht alphanumerische, Zeichen
- Benutze möglichst keine Wörter, welche in der Programmiersprache eingebettet sind
- Versuche einfach zu lesende Namen zu verwenden
- Verwende PascalCasing für Namespaces, Klassen, Typen und Methoden sowie Properties
- Verwende camelCasing für Parameter in Methoden und für lokale variablen
DON’T !
public myClass
{
public void method( myclassname valuename )
{
//logik
}
}
DO !
public MyClass
{
public void Method( MyClassName valueName )
{
//logik
}
}
Posted by
Michael Morbach
Jan
14
Ich habe heute mal ein kleines Update in meinem SVN Repository gemacht und dort die beiden Patterns “Strategy” und “Observer” aus dem Buch “Head First Design Patterns” ( oder zu deutsch – “Entwurfsmuster von Kopf bis Fuss” ) hinzugefügt.
Ich habe sie allerdings nicht in Java, wie im Buch, geschrieben sondern nach C# übersetzt und als Konsolenanwendungen hinterlegt. Für all diejenigen die grade erst anfangen sich mit Design Patterns auseinanderzusetzen ist es auf jeden Fall einen Blick wert ! Es ist bestimmt auch eine Bereicherung für diejenigen unter euch, denen meine selbst gestalteten Beispiele nicht die nötige Erleuchtung gebracht haben.
Ich werde demnächst auch das Head First Beispiel zum “Decorator Pattern” in C# bereit stellen.
Viel Spaß damit !
Head First Strategy Pattern Beispiel C#
Head First Observer Pattern Beispiel C#
Alle meine hinterlegten Beispiele zu Design Patterns
UPDATE :
Habe jetzt auch das Decorator Pattern ins SVN hochgeladen. Viel Spaß damit !
Head First Decorator Pattern Beispiel C#
Posted by
Michael Morbach
Dez
15
Ich habe vor kurzem einen etwas dickeren Wälzer über Visual Studio 2008 überflogen, um mal meine Kenntnisse in Zusammenhang mit dieser mächtigen Entwicklungsumgebung zu verbessern. Beim Lesen habe ich auch Namen einiger praktischen Tools aufgeschnappt.
Eines dieser Tools ist der StyleCop von Microsoft welcher kostenlos hier ergattert werden kann. StyleCop ist ein Visual Studio Tool, welches es dem Entwickler ermöglicht auf die Dokumentation der geschriebenen Software zu achten. Man könnte es als Berater betrachten, welcher einem beim Entwickeln über die Schulter schaut und Hinweise gibt wie man etwas schöner schreiben bzw. dokumentieren kann.
Neben dem StyleCop gibt es auch noch den FxCop, der sogar geschriebenen Quellcode analysiert und u.a. Performance Ratschläge gibt, jedoch möchte ich hier nur mal auf den StyleCop eingehen.
Den ganzen Beitrag lesen »