Zasady programowania, to niewidzialne linie, których programista stara się nie przekroczyć. Często jednak bywają one trudne do jednoznacznej interpretacji. Każdy deweloper może inaczej rozumieć daną zasadę, a to może prowadzić do chaosu, utrudniając efektywną współpracę i rozwój oprogramowania.
Kohezja i coupling
Większość zasad programowania aplikowalnych w Javie wywodzi się z podstawowych koncepcji programowania obiektowego, między innymi z kohezji i couplingu. Warto znać te metryki, bo mogą one wskazać nam potencjalne problemy w kodzie.
Value Object
Niektóre wzorce są proste do użycia, ale mogą znacznie poprawić jakość naszego kodziku. Takim właśnie wzorcem jest Value Object.
Outbox Pattern
Jeśli w ramach jednego procesu komunikujesz się z dwoma niezależnymi narzędziami, np. bazą danych i brokerem wiadomości, to zawsze jest ryzyko, że jedno z tych narzędzi jest niedostępne. Jak więc zwiększyć szanse na powodzenie takiego procesu? W tym może nam pomóc Outbox Pattern!
Command vs Event
Command i Event to dwa typy wiadomości często stosowane w systemach rozproszonych. Każdy z nich ma jednak swoje przeznaczenie i role do odegrania w procesie komunikacji.
Saga Pattern
Rozproszone transakcje są jednym z największych wyzwań w architekturze mikroserwisów. Gdy mamy do czynienia z jednym procesem rozproszonym jako kilka transakcji na różnych bazach danych, to już nie jest to samo, co transakcja na jednej bazie danych, gdzie zawsze możemy zrobić rollback. Jak więc podejść do takiej rozproszonej transakcji? Jak sobie poradzić, jeśli coś się wysypie w procesie, który działa na wielu bazach?