Posts tagged: Martin Fowler

Gefangen, nicht gefunden! #11

Mein letzter Blogeintrag ist schon ne Weile her. Das liegt u.a. daran, dass ich ein vergleichsweise arbeitsreiches Semester hinter mir habe… und jetzt noch zwei Klausuren vor mir. Mit ein bisschen Glück gibts jetzt aber wieder etwas öfter was von mir zu lesen. In der Zwischenzeit haben sich eine Hand voll halb-fertige Artikel angesammelt. Ebenso wie einige interessante Links…

Informatik

  • Mein Vortrag für die diesjährigen Delphi-Tage ist angenommen worden. Auf der “Agenda” steht was von “Was die OOP-Tutorials verschweigen”. Es geht grob gesagt darum, wie man objektorientiert denkt. Die Folien werde ich online stellen, wenn ich sie fertig habe.
  • How Not To Sort By Average Rating. Ein interessanter Artikel über das richtige Sortieren von Bewertungen (via).
  • Ich hab jetzt mal auf WordPress 3 aktualisiert. Ging überraschend reibungslos. So wie ich das sehe, gehen alle Plugins noch, obwohl die meisten davon nicht für die 3er-Version aktualisiert wurden. Eigentlich sollte das bei gutem Design ja normal sein. Eigentlich…
  • Wer sich ein bisschen für Security interessiert, sollte sich vielleicht mal “Tatort Internet” ansehen. Bisher gibt schon 4 Folgen. Alle sind sehr interessant und kurzweilig geschrieben. Da sieht man mal wie Malware wirklich funktioniert. Wenn man mitkommen möchte, sollte man aber ein paar grundlegende Assemblerkenntnisse mitbringen.
  • “software is like sewage pipes, I want it to work reliably and I don’t want to know about the details” (gefunden bei Martin Fowler). Das Bild passt auch ganz gut auf Module. Denn genau so funktioniert Kapselung (“I want it to work reliably”) und Information Hiding (“and I don’t want to know about the details”). Der Artikel ist übrigens auch ganz interessant.
  • Ich finde ja Assertions sehr praktisch. Also wenn man sie richtig anwendet. Vor einiger Zeit hab ich dazu einen interessanten Artikel gelesen: Design by Contract and Unit Testing. Die Frage ist nämlich u.a. wie das mit Unit-Tests zusammenpasst. Es gibt da noch ne Menge dazu zu sagen. Da werde ich aber wohl separat mal dazu bloggen. Wenn ich hoffentlich bald mal dazu komme…
  • Zehn Zentimeter: In diesem kurzen Blogpost erklärt Isotopp sehr schön, welchen Beschränkungen verteilte Systeme hinsichtlich der Performance ausgesetzt sind.

Anderes

  • Nein, heute gibts nichts anderes…

Singletons nach Fowler

Nachdem in letztens ja gegen Singletons gewettert habe, habe ich nun selbst mal eines implementiert. Wie im verlinkten Artikel erläutert, gibt es ein paar reale Einsatzszenarien, in denen sie wirklich hilfreich sind. Einen dieser Fälle hatte ich: Ich wollte eine prozedurale API (konkret ging es um MPI) kapseln.

Bei der Realisierung habe ich mich für Martin Fowlers Ansatz entschieden, da dieser, wie im angesprochenen Artikel erläutert, die Testbarkeit erhöht. Im Folgenden nochmal etwas ausführlicherer Pseudocode und eine Beschreibung zu diesem Ansatz:
weiter lesen »

Warum Singletons bööse sind

Ich schätze mal, ich bin nicht der einzige, der von den 23 GoF-Patterns das Singleton-Pattern als erstes kennen gelernt hat. Aber woran liegt das? Vielleicht, weil es einfach ist? Und bequem? Und natürlich weil man es wunderbar dazu verwenden kann, sich um richtige OO herum zu drücken…
weiter lesen »

Martin Fowler

Nicht nur [post="kaffeemaschinen-und-ood" text="Robert C. Martin"] hat interessante Artikel auf seiner Website. Martin Fowler ebenfalls. Auf martinfowler.com betreibt er ein “Bliki”, eine Mischung als Blog und Wiki. Dort findet sich einiges zu den Themen SA, OOD, Patterns, Agile Softwareentwicklung u.ä.

Die einzelnen Artikel sind wie bei einem Wiki miteianderen verknüpft, sodass man leicht zu Bliki-Einträgen zu verwendeten Begriffen springen kann. Bezieht sich Fowler beispielsweise in einem Artikel auf ein bestimmtes Pattern ist ein Bliki-Eintrag, der selbiges erklärt verlinkt. Wie bei einem Wiki eben. Dennoch finden sich auch ganz normale Blog-Posts dort.

Als Beispiel für einen Artikel sei Domain Logic and SQL genannt. Dort beschreibt er schön, welche Möglichkeiten es gibt, Datenbanken in seinem Programm zu nutzen und welche Vor- und Nachteile diese haben. Im Grunde unterscheidet er drei Typen: Transaction Scripts (viele einfache Queries), Domain Model (Repräsentation der DB in Modellen und dann Benutzung dieser, statt der DB) und Logic in SQL. Sehr interessant, das mal so schön zusammengefasst zu lesen.

Also einfach mal angucken. Stöbern lohnt sich!

powered by WordPress | QuickLaTeX | WordPress Themes