Skip to content

Buch: Metro 2033/Metro 2034

Titel

Metro 2033/Metro 2034

Autor

Dmitry Glukhovsky

Sprache

Deutsch

Genre

Endzeit-Sci-Fi

Herausgeber

Heyne, 2014

Seitenanzahl

1082

Auf der Beschreibungsseite zum Buch wird Metro 2033 in den höchsten Tönen gelobt. Seit Dmitry Glukhovsky das Buch 2007 veröffentlicht hat, zählt er zu den großen russischen Autoren. Das Metro-Universum umfasst inzwischen zahlreiche Bücher, auch von anderen Autoren, die die Idee aufgegriffen haben. Deshalb wollte ich das Buch seit langer Zeit lesen …

… und wurde immens enttäuscht. Ich fand den Erzählstil des Autors sogar so schlecht, dass ich das Buch nach 350 Seiten abbreche. Bis zum Ende von Metro 2033 wären es noch ca. 300 Seiten gewesen, die ich mir aber nicht antun möchte.

Metro 2033 handelt von den Menschen, die nach einer atomaren Katastrophe in die Moskauer Metro-Stationen geflüchtet sind. Dort leben sie in kleinen Gruppen zusammen, jede Metro wird von bestimmten Gruppierungen kontrolliert. Artjom wächst unter Tage auf und kennt den Himmel oder Bäume nur von Erzählungen. Er wird von einem Stalker beauftragt, zu einer Metro-Station namens Polis zu gehen, um dort Hilfe für eine Bedrohung zu holen, da die Mutanten von der Oberfläche immer öfters Angriffe gegen die Metro-Bewohner starten.

Seit Seite 100 wandert Artjom also von Station zu Station, um sich seinem Ziel zu nähern. Da die Stationen in den Händen verschiedener Gruppen sind, ist dies mitunter ein schwieriges Unterfangen. In meinen Augen dient dieser Grund dem Autor aber nur, damit Artjom jede Station einmal durchqueren muss, damit er beschreiben kann, wie toll und prächtig sie aussieht.

Daneben fängt mit jedem Eintreffen in eine neue Station ein neues Abenteuer für Artjom an. Und zwar immer so abgeschlossen, dass man gar nicht vermutet, dass zwei aufeinanderfolgende Kapitel überhaupt etwas miteinander zu tun haben. Das Ganze wirkt eher wie kleine Mini-Episoden eines Helden, wobei es über zwei Episoden hinweg keine oder nur wenig Verbindungen gibt.

Eine Charakterentwicklung von Artjom konnte ich auch nicht entdecken. Man erfährt etwas darüber, wie er aufgewachsen ist, aber eine Veränderung des Charakters nehme ich nicht war. Nach 250 Seiten Reise hat sich wenig geändert in ihm. Auch kritische Entscheidungen passieren einfach so, dann setzt sich der Autor ganz kurz damit auseinander und es ist wieder vergessen.

Sprachlich problematisch sind natürlich die russischen Namen der verschiedenen Metro-Stationen. Dafür kann der Autor natürlich nichts, es ist aber schwer Stationen wie Turgenewskaja, Tretjakowskaja und Taganskaja auseinander zu halten. Vor allem bei Wegbeschreibungen über mehrere Stationen hinweg habe ich die Namen irgendwann nur noch hingenommen und überlesen.

Zum Schluss finde ich den Schreibstil ziemlich ermüdend und langatmig. Spannung kam bei mir nicht auf. Es gab wenige Stellen im Buch, wo ich unbedingt dringend umblättern wollte, um zu sehen, wie es weitergeht. Ganz im Gegenteil habe ich immer vorsichtig umgeblättert, in der Hoffnung, dass das Kapitel gleich vorbei ist.

Für mich war Metro 2033 eine herbe Enttäuschung. Dmitry Glukhosvky ist für mich kein guter Autor. Ein Vergleich mit einem anderen hochgelobten, russischen Sci-Fi-Autor wie Sergej Lukianenko verbietet sich, da Lukianenko es schafft, mich als Leser gleich von Seite 1 an zu fesseln. Metro 2033 ist damit das dritte Buch in meinem Leben, dass ich nicht beenden werde.

Buch: Entwurfsmuster – Das umfassende Handbuch

Titel

Entwurfsmuster – Das umfassende Handbuch

Autor

Matthias Geirhos

Sprache

Deutsch

Genre

Sachbuch

Herausgeber

Rheinwerk Verlag, 2015

Seitenanzahl

643

Wer mit Software-Entwicklung zu tun hat, denkt bei dem Wort „Entwurfsmuster“ fast automatisch an die Gang of Four und die Beschreibung der 23 Entwurfsmuster in ihrem Buch „Entwurfsmuster. Elemente wiederverwendbarer objektorientierter Software“. Wer nicht mit Software-Entwicklung zu tun hat: Bei Entwurfsmustern handelt es sich um eine Art Schablone, wie man wiederkehrende Probleme in der Software-Entwicklung lösen kann. Es gibt Tausende von Entwurfsmustern, 1994 haben vier Entwickler, die sogenannte Gang of Four, ein Buch verfasst, welches die in ihren Augen 23 am häufigsten genutzten Entwurfsmustern enthält. Dass es noch mehr gibt als diese 23 Entwurfsmuster zeigt Matthias Geirhos in seinem Buch „Entwurfsmuster – Das umfassende Handbuch“.

Was steht drin?

Das umfassende Handbuch zum Thema Entwurfsmuster beschäftigt sich entgegen des Titels nicht allein mit Entwurfsmustern im herkömmlichen Sinne. Diese nehmen mit über 300 Seiten zwar einen Großteil des Buches ein, sind aber nicht allein für den Inhalt verantwortlich.

Dabei ergänzt der Autor Matthias Geirhos die 23 Entwurfsmuster der Gang of Four zusätzlich noch um das Multiton- und das Interceptor-Muster. Danach geht er auf Architekturmuster ein, die sich aber allein auf verteilte Systeme wie SOA (Service-orientierte Architekturen) beziehen. Strukturelle Architekturmuster wie Pipes und Filter oder Blackboard werden nicht erwähnt.

Der Teil der Datenmuster bezieht sich vor allem auf Datenbanksysteme, obwohl sich die dort erwähnten Verfahren und Probleme in ähnlicher Weise auch auf Multithreading-Systeme anwenden lassen. So kann man auch dort mit optimistischen und pessimistischen Sperren arbeiten und die Probleme von Lost Updates, Dirty Reads, Non-Repeatable Reads, Phantom Reads und natürlich Deadlocks ergeben sich auf ähnliche Weise.

Bei den GUI-Muster werden hauptsächlich Model-View-Controller (MVC), Model-View-Presenter (MVP) und Model-View-ViewModel (MVVM) erklärt, die aber alle sehr ähnlich sind.

Das letzte Teil 8 beschäftigt sich mit Design- und Entwicklungsprinzipien, in denen Geirhos unter anderem auf SOLID, das Agile Manifest und Design Smells und Anti-Pattern eingeht.

Wie liest es sich?

Die Entwurfsmuster sind alle klar strukturiert und in der Regel auch ausführlich gehalten. So folgen auf die Beschreibung in UML und Text die Anwendungsfälle und die Implementierung des Musters in Java – und manchmal C#. Abgeschlossen wird ein Kapitel immer mit weiteren Überlegungen und Alternativen zu den Mustern.

Vor allem die weiteren Überlegungen sind sehr hilfreich, da Geirhos oft sehr ausführlich die Vor- und Nachteile beschreibt, die mit den Mustern in der Praxis auftreten können.

Die Beispiele für die Umsetzung der Entwurfsmuster sind dabei meist der Realität und Projekten entnommen, an die der Autor gearbeitet hat. Es ist aber wahrscheinlich Geschmackssache, ob man beispielsweise das Decorator-Muster mit Kaffee oder Pizza (wie im Buch „Head First Design Patterns“) oder mit einem „realen“ Beispiel mit einem Vertrag, der verschlüsselt wird, erklärt bekommen möchte.

Was mitunter problematisch sein kann, ist, dass der gesamte Beispielcode und auch die Entwurfsmuster in Deutsch erklärt werden. So wird aus der „Chain of Responsibility“ eine „Zuständigkeitskette“ oder aus der „Template Method“ die „Schablonenmethode“. Diese Begrifflichkeiten sind mitunter etwas befremdlich, vor allem, wenn man sich mit anderen Entwicklern unterhält. Hier wäre Englisch als einheitliche Informatik-Sprache besser geeignet, um Missverständnisse zu vermeiden.

Vor allem der deutschsprachige Beispielcode liest sich seltsam:

public BestellContext ( String bestelldaten, Date dateTimeStamp,
                        boolean isVerschluesselt )

Dieses Schema findet man sicherlich in einigen Projekten, bei den meisten Firmen und auch in den meisten Open-Source-Projekten hat sich Englisch als beschreibende Sprache durchgesetzt, was den Austausch auf internationaler Ebene natürlich erleichtert. Problematisch ist die Verwendung von deutschen Begriffen auch für das Lektorat, denn so wird durch die Korrektur des Buches aus public void kuendigen(...) im Fließtext eine „kündigen“-Methode (S.65).

Ein weitere Eigenart des Autors, an die man sich erst gewöhnen muss, ist, dass in vielen Mustern ein Interface (z.B. „Erzeuger“) eine Basisklasse zurückliefert (hier „Produkt“), die konkrete Klasse „KonkreterErzeuger“ liefert aber plötzlich ein „KonkretesProdukt“. Das heißt, die Signatur der überladenen Methode passt in Interface und Realisierung nicht mehr zusammen. Dies findet man in allen UML-Diagrammen, die im Buch verwendet werden (S.51, S.79 etc.). In dem darauf folgenden Code wird die Methode der Schnittstelle/Basisklasse in der konkreten Klasse glücklicherweise korrekt implementiert – da sonst auch der Quellcode nicht übersetzen würde.

Ganz fehlerfrei ist das Buch leider insgesamt nicht. Manchmal sind es nur kleinere Fehler, sodass ein „I“ im Interface vergessen wird (S.105) oder eine Bildunterschrift nicht passt (S.509). Etwas verwirrender ist, wie oben erwähnt, wenn UML und Code nicht zusammenpassen. Manchmal ist es dabei auch nur, dass die Groß-/Kleinschreibung nicht passt (S.120/122) oder Interfaces nicht korrekt bezeichnet werden (S.337). Man merkt hieran, dass es für die zweite Auflage noch Verbesserungspotential gibt, auch wenn natürlich im Ganzen gesehen die Fehler eher kleinerer Natur sind und auch nicht massiv auf jeder Seite auftauchen.

Ein Fauxpas ist (aus Design-Sicht) aber eigentlich nicht zu entschuldigen. So wird im Teil zu Design-Prinzipien auch das Gesetz von Demeter erwähnt (S.596). Dort wird gesagt, dass ein Objekt M auf die Methoden der Bestandteile von M, der Argumente von Methoden von M, der von M erzeugten Objekte und von globalen Variablen zugreifen darf. Gerade der letzte Punkt ist aber falsch und eine Verstoß gegen das Gesetz. Glücklicherweise wird eine Seite später bei der ausführlichen Erklärung korrekt erklärt, dass man nicht auf globale Objekte zugreifen soll.

Fazit

Trotz der kleineren Fehler, die eben aufgelistet wurden, ist das Entwurfsmuster-Buch von Matthias Geirhos ein sehr gutes und aktualisiertes Nachschlagewerk für verschiedene Entwurfsmuster, wobei der Begriff vom Autor entsprechend weit aufgefasst wird, was aber nicht schlimm ist. Sicherlich sind nicht alle Teile für jeden interessant, da nicht jeder Entwickler mit Service-orientierten Architekturen oder GUI-Entwicklung zu tun hat, aber als Anreiz zur Weiterbildung sind diese Kapitel selbst für solche Personen interessant.

Der Schreibstil des Autors ist dabei auch locker und nicht zu trocken, was manch einen beim Buch der Gang of Four ggf. gestört hat. Und so gibt es am Ende noch ein schönes Zitat, was die Entwicklung von Software-Systemen sehr gut beschreibt (aus dem Abschnitt zum Fassade-Pattern, S.171): „Komplexität ist ein Eichhörnchen. Bis man die Komplexität wahrnimmt, hat es schon viele Haselnüsse versteckt.“