deen

Veröffentlichungen

  • „Domain Driven Design als Denkansatz“ (Teil VI)
    Aggregate und Repositories
    Eine der größten Herausforderungen bei der Entwicklung objektorientierter Software stellt die saubere Trennung der Zuständigkeiten einzelner Schichten dar. Geht man dabei nicht gewissenhaft vor, entsteht schnell unübersichtlicher, schwer wartbarer Code. Wichtig ist insbesondere die strikte Trennung von Geschäfts- und Speicherlogik. Klingt wie eine Binsenweisheit. Die Praxis zeigt jedoch immer wieder, dass die Unterscheidung oft nicht sauber und konsequent durchgezogen wird. Thematisch passt die Problematik gut zu meiner Ankündigung, die Begriffe Aggregat und Repository im Kontext von Domain-Driven Design zu betrachten.

    Rico Fritzsche, Visual Studio One, Mai 2012
  • „Domain-Driven Design als Denkansatz“ (Teil V)
    Validierungen – Teil II: Platzierung von Validierungsregeln
    Transparent und kompakt, so muss gutes Softwaredesign sein. In der letzten Ausgabe habe ich etwas aus dem Nähkästchen geplaudert. Anhand des State Pattern haben wir Paradigmen des objektorientierten Design betrachtet und die Abgrenzung prozeduraler Denkweisen vertieft. Dabei bin ich von der eigentlichen Thematik Validierung abgeschweift. In diesem Teil sind ein paar Gedanken dazu angebracht, wie man die Platzierung von Validierungsregeln in den einzelnen Schichten einer verteilten Anwendung los wird. Ich werde außerdem Ideen zur Implementierung von Validierungsregeln aufzeigen.

    Rico Fritzsche, Visual Studio One, März 2012
  • „Domain Driven Design als Denkansatz“ (Teil IV)
    In dieser Ausgabe meiner Kolumne möchte ich Ansätze der Platzierung von Geschäftsregeln und Validierungen im Zusammenhang mit Domain-Driven Design besprechen. Da dieses Thema recht umfangreich ist, habe ich mich dazu entschlossen, es in zwei Teile zu aufzusplitten. Im vorliegenden Teil möchte ich im Wesentlichen auf zustandsabhängige Validierungen eingehen und dazu noch das State Pattern betrachten. Außerdem soll anhand des populären Anti-Patterns Anemic Domain Model der Unterschied zwischen einem prozeduralen und einem objektorientierten Denkansatz nochmals analyisiert und Unterschiede herausgearbeitet werden. Dabei sollen die Vorteile konsequenter Objektorientierung näher gebracht als auch weiter vertieft werden.

    Rico Fritzsche, Visual Studio One, Januar 2012
  • „Domain Driven Design als Denkansatz“ (Teil III)
    In den ersten beiden Teilen meiner Kolumne haben wir uns mit einigen Grundbegriffen des Domain Driven Design auseinander gesetzt und versucht, eine Begriffsdefinition zu finden. Im Zusammenhang mit Domain Driven Design fällt auch häufig der Begriff Factory, der -wie ich finde-häufig auch recht inflationär verwendet wird, ohne dass eine Auseinandersetzung stattgefunden hat. In der letzten Ausgabe haben wir uns intensiv mit der Thematik Objekterzeugung beschäftig. Nicht ist naheliegender, als das Thema nun weiter zu vertiefen und insbesondere auf Sinn und Zweck von Factories einzugehen.

    Rico Fritzsche, Visual Studio One, November 2011
  • „Domain Driven Design als Denkansatz“ (Teil II)
    In der letzten Ausgabe habe ich über grundlegende Begriffe des Domain Driven Design geschrieben und versprochen, in diesem Teil der Kolumne etwas praktischer zu werden. Das möchte ich nun auch tun. Schwerpunkt der Betrachtung dieser Ausgabe soll auf der sicheren Erzeugung konsistenter Objekte liegen. Es geht demzufolge um den recht häufig diskutierten Punkt, wie erzeuge ich meine Objekte richtig? Wie stelle ich sicher, dass alle Werte gesetzt sind?

    Rico Fritzsche, Visual Studio One, September 2011
  • „Domain Driven Design als Denkansatz“ (Teil I)
    Einige Gedanken zur Auseinandersetzung mit Softwareentwicklung – Kolumne Teil I
    Jeder, der sich irgendwann einmal mit der Entwicklung von Software beschäftigt hat, kennt das Problem der stetig wachsenden Komplexität von Systemen und die Angst, diese irgendwann nicht mehr beherrschen zu können. So fragt man sich oft, wie man diese Komplexität vermindern und trotzdem die in der realen Welt existierenden Anforderungen umsetzen kann. Ich möchte mit dieser Kolumne dieses Thema näher beleuchten und erprobte Lösungsansätze aus der Praxis dem Entwickleralltag, wiedergeben.

    Rico Fritzsche, Visual Studio One, Juli 2011
  • „Ärmel hochgekrempelt und losgelegt”
    Das Entity Framework in verteilten Anwendungen-ein Praxisbericht

    Als ich die Idee hatte, diesen Artikel zu verfassen, war die aktuelle Version von Visual Studio 2010 noch im Betastadium und das Entity Framework 1.0 unsere erste Wahl für den Datenzugriff. Ich weiß, einige der im Folgenden beschriebenen Dinge sind eventuell inzwischen out oft he Box mit der aktuell vorliegenden Version des Frameworks 4.0 realisierbar, dennoch möchte ich einen Erfahrungsbericht über den Einsatz dieser Technologie in der Praxis sowie einige praktische Tipps geben.

    Rico Fritzsche, dot.NET MAGAZIN, Oktober 2010
  • „LINQ geschickt erweitert“
    Mal ehrlich, nutzen Sie in der täglichen Arbeit alle wirklich coolen Funktionen Ihrer Programmiersprache oder die Power von LINQ so richtig aus? Wenn ja, dann brauchen Sie an dieser Stelle nicht weiter zu lesen. Wenn Sie sich nicht ganz sicher sind, dann schauen Sie doch einfach, ob Sie diesem Artikel vielleicht den einen oder anderen hilfreichen Trick entnehmen können. Mit .NET Framework 2.0 führte Microsoft „Generics“ ein, welche uns erlaubten, flexible und wiederverwendbare Code zu schreiben.

    Rico Fritzsche, Visual Studio One, Juli 2010
  • „Besserer Code mit Refactoring“
    Dieser Artikel beschäftigt sich mit einem immer wichtiger werdenden Thema der Softwareentwicklung. In den letzten Jahren hat sich ein Begriff in den Entwicklerfokus geschoben, der zunehmend an Bedeutung gewinnt: „Refactoring“.
    Als ich begann, mich in dieser Thema zu vertiefen, fragte ich mich, welche Bedeutung eigentlich hinter diesem Begriff steckt. Bei Martin Fowler [1] fand ich folgende Definition:

    Rico Fritzsche, Visual Studio One, März 2010
  • „Softwarearchitektur in der Praxis“
    Das Berufsbild des Softwareentwicklers wandelt sich. Wie auch die Anforderungen an Software stetig steigen und komplexer werden, steigen auch die Anforderungen an die Prozesse bei der Entwicklung. Einen gedanklichen Bogen von der „Nebenbei-Programmierung“ bis zur integrierten Betrachtung von Architektur und Codereviews schlägt dieser Artikel.
    In meiner täglichen Tätigkeit als Softwarearchitekt und Technologieberater und der damit verbundenen Zusammenarbeit mit verschiedenen Softwareentwicklern gibt es eine Menge interessante Aspekte, die mich ständig dazu bewegen, über Softwareentwicklungsprozesse, Codequalität und Implementierungsmethoden nachzudenken.

    Rico Fritzsche, Visual Studio One, Januar 2010