Architektura heksagonalna (ports and adapters)
Logika biznesowa w środku definiuje interfejsy (porty); bazy danych, API i interfejsy użytkownika podpinają się z zewnątrz jako adaptery.
Rdzeń mówi „muszę zapisać zamówienie” i „muszę obciążyć kartę”; adaptery robią to przez Postgresa albo operatora płatności. Zależności wskazują do środka, więc reguły da się testować bez bazy, a adapter można wymienić. Clean architecture i onion architecture to bliskie warianty. Kosztem jest więcej interfejsów i kodu mapującego, czego proste aplikacje CRUD nie zwracają.
Powiązane hasła
- DDD (domain-driven design): Projektowanie oprogramowania wokół języka i reguł samego biznesu, z kodem podzielonym tam, gdzie ten język zmienia znaczenie.
- Modularny monolit (modular monolith): Jedna wdrażana aplikacja podzielona w środku na moduły z wyraźnymi granicami; każdy ma własne dane, a z innych korzysta tylko przez ustalone interfejsy.
- Anti-corruption layer (ACL): Warstwa tłumacząca między Twoim modelem a starym albo zewnętrznym systemem, żeby jego kształty danych i dziwactwa nie przeciekały do Twojego kodu.
