Cynefin

Lesezeit: 9 MinutenCynefin ist ein Framework zur Entscheidungsfindung. Es unterstützt dabei, den Kontext eines Projektes, eines Produktes oder einer Organisation begreifbar zu machen und Situationen richtig einzuordnen, um daraus Vorgehensstrategien ableiten zu können. Das Framework wurde 1999 von Dave Snowden bei IBM entwickelt und seitdem in vielen unterschiedlichen Umgebungen eingesetzt. Ein Beispiel (Homeland Security) ist am Ende […]

Cynefin Weiterlesen »

Dependency Injection

Lesezeit: 12 MinutenDependency Injection (DI) ist ein Design Pattern zur Umsetzung von Inversion of Control. DI verlagert Auflösung und Erstellung von Abhängigkeiten einer Instanz nach außerhalb dieser Instanz. Durch die Trennung von Erstellung und Verwendung einer Abhängigkeit erreicht DI damit Separation of Concerns. Der Begriff Dependency Injection wurde durch Martin Fowler in einem im Jahr 2004 von

Dependency Injection Weiterlesen »

Perl

Lesezeit: 8 MinutenPerl ist eine plattformunabhängige, interpretierte, dynamisch typisierte Skriptsprache, die prozedurale, funktionale, aspektorientierte und seit Version 5 auch objektorientierte Programmierung unterstützt. Perl wurde 1987 von Larry Wall ins Leben gerufen. Die aktuelle Major-Version 5 gibt es bereits seit 1994, jedoch erscheinen weiterhin regelmäßig neue Aktualisierungen, zum Zeitpunkt dieses Beitrags zuletzt die Version 5.32 im Juni 2020.

Perl Weiterlesen »

Hexagonale Architektur

Lesezeit: 16 MinutenDie hexagonale Architektur ist ein Architekturansatz, der eine Software in lose gekoppelte Komponenten unterteilt, die Technik von der Fachlichkeit trennt und die Austauschbarkeit der Komponenten erleichtert. Damit ist die hexagonale Architektur besonders geeignet für langlebige Softwaresysteme mit einer komplexen Fachdomäne. Die Schichtenarchitektur Der Wunsch in der Software-Entwicklung, Verantwortlichkeiten voneinander zu trennen, ist uralt. Der Begriff

Hexagonale Architektur Weiterlesen »

Guice

Lesezeit: 9 MinutenGoogle Guice ist ein leichtgewichtiges Framework für Dependency Injection (DI) in Java und damit eine gute Wahl für ein Java-Programm, das ohne ein Framework wie Spring oder eine Java-EE-Implementierung entwickelt wird. Begrifflichkeiten und Zusammenhänge Guice provisioniert Abhängigkeiten in Felder und Parameter, die mit @Inject annotiert sind. DI wird durch einen Injector realisiert, der von einer

Guice Weiterlesen »

JavaScript

Lesezeit: 7 MinutenJavaScript ist eine interpretierte, dynamisch typisierte und ereignisorientierte Programmiersprache. JavaScript ermöglicht objektorientierte, funktionale und aspektorientierte Programmierung. Der erste Prototyp der Sprache wurde im Mai 1995, damals noch unter dem Namen Mocha, innerhalb von zehn Tagen von Brendan Eich entwickelt. Brendan Eich wurde in den frühen Tagen des World Wide Web von Netscape beauftragt, eine Sprache

JavaScript Weiterlesen »

Twelve-Factor App: Review

Lesezeit: 13 MinutenNachdem ich im letzten Beitrag die Twelve-Factor App vorgestellt habe, möchte ich in diesem Beitrag meine Meinung zu den einzelnen Aspekten dieser Methode darlegen. Die 12 Faktoren sind eine gute Orientierungshilfe für Software, die in einer Cloud oder PaaS läuft oder als SaaS betrieben wird. Dabei werden nicht alle Empfehlungen für alle Umgebungen geeignet sein

Twelve-Factor App: Review Weiterlesen »

Closure

Lesezeit: 11 MinutenEine Closure ist eine „Funktion erster Klasse“ (first-class function) inklusive der lokalen Variablen ihres Entstehungskontextes. Die Funktion hat auf diese Variablen Zugriff, auch außerhalb des Gültigkeitsbereiches der übergeordneten Funktion bzw. auch, nachdem die übergeordnete Funktion bereits durchlaufen ist. Darum wird Closure im Deutschen auch als Funktionsabschluss übersetzt. Das Konzept der Closure ist in den 1960ern

Closure Weiterlesen »

Go

Lesezeit: 8 MinutenGo ist eine kompilierbare, statisch typisierte und prozedurale Programmiersprache. Zu einem gewissen Grad unterstützt Go objektorientierte, funktionale und aspektorientierte Programmierung. Die Sprache ist ursprünglich 2007 von Robert Griesemer, Rob Pike und Ken Thompson bei Google entworfen worden. Der Öffentlichkeit bekannt gemacht wurde Go 2009. Die erste stabile Version erschien 2012. Alleinstellungsmerkmale Nach eigener Aussage der

Go Weiterlesen »

Richardson Maturity Model

Lesezeit: 7 MinutenDas Richardson Maturity Model (RMM) von Leonard Richardson aus dem Jahr 2008 ist ein Modell zur Klassifizierung von Web-APIs hinsichtlich ihrer RESTfulness. REST steht hier repräsentativ für die Möglichkeiten des World Wide Webs als Tech-Stack für Webservices und das RMM misst, inwieweit ein Webservice von diesen Gebrauch macht. Das RMM teilt Webservices dabei in vier

Richardson Maturity Model Weiterlesen »