Python erfreut sich steigender Beliebtheit, was zur Folge hat, dass damit auch immer mehr komplexe Projekte realisiert werden. Viele Python-Entwicklerinnen und -Entwickler interessieren sich deshalb zunehmend für Software-Design-Patterns wie zum Beispiel hexagonale Architektur/Clean Architecture, eventgesteuerte Architektur und die strategischen Patterns, die durch das Domain-Driven Design nahegelegt werden. Aber das Übertragen dieser Patterns auf Python ist nicht immer einfach.
Mit diesem praxisnahen Buch stellen Harry Percival und Bob Gregory von MADE.com erprobte Architekturpatterns vor, die dabei helfen, die Komplexität von Anwendungen im Griff zu behalten – und möglichst viel aus den Testsuiten herauszuholen.
Jedes Pattern wird durch konkrete Beispiele in schönem, idiomatischem Python illustriert – wobei die Weitschweifigkeit von Java- oder C#-Syntax vermieden wird.
Aus dem Inhalt
Teil I – Eine Architektur aufbauen, die Domänenmodellierung unterstützt
Domänenmodellierung
Repository-Pattern
Ein kleiner Exkurs zu Kopplung und Abstraktionen
Unser erster Use Case: Flask-API und Serviceschicht
Eventgesteuerte Architektur: Events zum Integrieren von Microservices
Command-Query Responsibility Segregation (CQRS)
Dependency Injection (und Bootstrapping)
In dieser Leseprobe stellen die Autoren das Repository-Pattern vor. Dabei handelt es sich um eine vereinfachende Abstraktion eines Daten-Storage, um die Modellschicht von der Datenschicht zu entkoppeln. Das System wird dadurch testbarer, da die Komplexitäten der Datenbank verborgen werden.
Python-natives Material über das Schreiben wartbarer und großer Systeme in Python war bisher quasi nicht vorhanden. Dieses Buch zeigt, dass Python für die ernsthafte Softwareentwicklung sehr gut einsetzbar ist.
— Hynek Schlawack Pythonista, Blogger und Referent
Wer hat's geschrieben?
Harry Percival hatte ein paar unglückliche Jahre als Management Consultant verbracht, als er seine wahre Geek-Natur wiederfand und das Glück hatte, in die Hände von ein paar XP-Fanatikern zu fallen und daran zu arbeiten, das unfassbar dysfunktionftle Resolver-One-Spreadsheet zu überarbeiten. Er war bei PythonAnywhere LLP tätig und verbreitete weltweit das Wort von TDD bei Talks, Workshops und Konferenzen. Er arbeitet nun bei MADE.com.
Bob Gregory ist Softwarearchitekt bei MADE.com und lebt in Großbritannien. Er baut schon seit mehr als zehn Jahren eventgesteuerte Systeme mithilfe des Domain-Driven Design.