Opis
Architektura aplikacji w Pythonie. TDD, DDD i rozwój mikrousług reaktywnych
Python zyskuje coraz większą popularność i jest wykorzystywany do tworzenia bardzo różnych aplikacji, jednak projektowanie dużych, niezawodnych systemów w tym języku bywa wyzwaniem. Rozwijanie złożonych systemów o wysokiej jakości wymaga zastosowania odpowiedniej architektury. Trudno w Pythonie stosować takie wysokopoziomowe wzorce projektowe jak architektura sześciokątna, architektura oparta na zdarzeniach czy wzorce zalecane dla projektowania dziedzinowego (DDD). Sytuacji nie poprawia również to, że klasyczna literatura dotycząca metod zarządzania złożonością aplikacji zawiera przykłady kodu napisanego w Javie lub C#. Programiści Pythona często więc uznają takie książki za mało przydatne w swojej pracy.
Ten praktyczny przewodnik przybliży projektantom pracującym w Pythonie sprawdzone wzorce architektury, które ułatwiają zapanowanie nad złożonością aplikacji i pozwalają najlepiej wykorzystać zestawy testów. Prezentację poszczególnych wzorców architektury oparto na przykładowej, stopniowo rozbudowywanej aplikacji. Podejście to pozwoliło na pokazanie zalet metodyki TDD. Z kolei w rozdziałach poświęconych modelowaniu dziedzinowemu zwrócono uwagę na unikanie jakichkolwiek zależności zewnętrznych przy równoczesnym zapewnieniu integralności danych. Wśród ciekawszych koncepcji warto wskazać wykorzystywanie zdarzeń w roli wzorca integracji usług w architekturze mikrousługowej. Niejako przy okazji zaprezentowano praktyczne strony stosowania kilku frameworków i technologii Pythona, między innymi Flask, SQLAlchemy, pytest, Docker i Redis.
W tej książce między innymi:
modelowanie dziedzinowe i stosowanie wzorców DDD
jednostki, obiekty wartości i agregaty w architekturze domenowej
tworzenie modeli bez zbędnych zależności
zdarzenia, polecenia i szyna wiadomości
wzorce architektury zdarzeniowej i mikrousług reaktywnych
Architektura nowoczesnych aplikacji w Pythonie: rozwiązania dla poważnych systemów!
O autorze
Harry Percival niegdyś był konsultantem specjalizującym się w zarządzaniu, później brał udział w pracach nad arkuszem kalkulacyjnym Resolver One. Pracował w PythonAnywhere LLP i promował metodykę TDD na konferencjach, warsztatach i innych wydarzeniach na całym świecie. Teraz pracuje w MADE.com.