Anmeldung Registrierung
Auto Hell Dunkel
Erweiterte Suche
  1. Startseite
  2. Podcasts
  3. Pro-Grammierer-Podcast Podcast
  4. Folge 2: Separation of Concerns implementieren mit dem „Hook Registry“ Design Pattern
In der letzten Folge habe ich das Thema Separation of Concerns
angesprochen. Das Ziel dahinter ist, den Code eines Projekts so
weit voneinander zu trennen, dass man den Aufwand deutlich
reduziert, wenn Änderungen am Code zu machen sind, oder Sachen
wieder rausfliegen oder ersetzt werden sollen. Dazu soll jeweils
der Code, der zu einem Concern - oder auch Feature genannt –
gehört, möglichst beisammen bleiben und nicht mit anderem Code, der
andere Features umsetzt, gemischt werden. Eine relativ einfache
Methode möchte ich euch heute vorstellen, da sie von vielen
Plugin-Systemen wie z.B. der Eclipse IDE, aber auch allen gängigen
Browsern in ihren Plugin-Systemen verwendet werden. Ihr könnt euch
also eine „sauber programmierte Software“ wie ein leeres Programm
vorstellen, bei dem jedes Feature wie durch ein Plugin jederzeit
hinzufügbar – oder entfernbar ist. Die Rede ist von der
Hook-Registry. Dabei handelt es sich um ein zentrales Register an
Hooks, also Callbacks, die zu einem bestimmten Zeitpunkt zu einem
bestimmten Zweck aufgerufen werden. Um es etwas plastischer zu
machen, nehme ich das Menüsystem zum Beispiel. Angenommen, die
Software hat ein Hauptmenü mit den Menüpunkten Datei, Bearbeiten,
Ansicht, Fenster und Hilfe mit ihren jeweiligen Unterpunkten: Datei
Neu Öffnen Schließen Beenden. In schlecht organisierter Software
gibt es jetzt einen zentralen Punkt, wo die Menüs aufgebaut werden:
Die Liste mit Menüeinträgen muss vollständig sein und verweist auf
Funktionen quer durch die Software. Anschließend sind die Aktionen
hinter den Menüeinträgen in den einzelnen Dateien ausimplementiert.
Warum ist das schlecht? Naja jedes mal, wenn jemand ein neues
Feature hinzufügen will oder entfernen muss, muss er nicht nur die
Dateien anfassen, die das eigentliche Feature implementieren,
sondern zusätzlich noch eine handvoll zentraler Dateien (wie der
Menü-Aufbau-Code oder eine Initialisierungs-Routine oder eine große
If-Kaskade, in der nochmals alle vorhandenen Features aufgelistet
sind), anfassen. Vergisst man eine dieser Stellen, macht man die
Software kaputt oder hinterlässt funktionslose Menüpunkte.
Episode melden

„Folge 2: Separation of Concerns implementieren mit dem „Hook Registry“ Design Pattern“

Worum geht es? Danach fragen wir noch nach dem Grund.

Abonnenten

Teilen

Mein Archiv

Deine Privatkopie der Folgen, die du nicht verlieren willst.

Podcast-Folgen verschwinden. Feeds werden auf die letzten Episoden gekürzt, Hoster räumen alte Dateien ab, Formate wechseln den Anbieter und lassen ihr Archiv zurück. Mit „Mein Archiv“ sichert podcast.de die Folgen deiner Podcasts für dich — angefangen bei den ältesten, denn die sind zuerst weg.

  • Deine gesicherten Folgen bleiben hörbar, auch wenn das Original offline geht.
  • Auch Folgen, die im heutigen Feed gar nicht mehr stehen — podcast.de kennt sie noch.
  • Herunterladen bleibt möglich, solange die Folge beim Podcaster liegt. Der zählt seine Abrufe wie bisher.
Startet bald

Sei beim Start von Mein Archiv dabei

Mein Archiv ist fast fertig. Trag dich ein, dann bekommst du eine E-Mail, sobald es losgeht – und bist von Anfang an dabei. Wir schreiben dir nur zum Start, keine Werbung, keine Weitergabe deiner Daten.

Du bekommst zuerst eine Bestätigungsmail. Abmelden geht jederzeit. Datenschutz