Andrzej Krzywda, DRUG #105, 2021
Service objecty to za mało
Jak żyć z Railsami?
Z Railsami szybko się startuje
Optymalizacja pod dodawanie
nowych kolumn w bazie danych
Railsy optymalizują pod pierwsze
10 ticketów w Jirze
Potem mamy już
"zacementowany design"
Coupling everywhere
Mądrze wybieraj pierwsze 10
ficzerów
DHH mówi:


logika do modelów


oraz concerny
Community wybrało service
objecty
Ale każdy je robi po swojemu
I każdy je inaczej nazywa


commandy, serwisy, serwisobdżekty, usecase'y,
interactory, simplekomandy
Zaleta serwisów:


oddzielenie się od warstwy http railsów
Zwykle zostaje coupling do
ActiveRecord
Chociaż niektórzy opakowują
ActiveRecord warstwą repozytoriów
Serwisy i repozytoria


to taki etap serwisy+
Często też dochodzą takie wzorce
jak form object czy presenter pattern
I co dalej?


Czy etap serwisy+ nas zadowala?
Czy eliminuje to couplingi?
Typowe problemy etapu serwisy+
Czy serwis może wywoływać
inny serwis?
Czy rozróżniamy nadserwisy i
podserwisy?
Czy prezentowanie danych (aka
query) to też serwis?
Czy dziedziczkonko serwisów
jest OK?
Czy wybieramy framework do
serwisów?
Czy mamy spójne zachowania
serwisów, czy mają stałe API?
Czy rzucamy wyjątki jak coś w
serwisie się nie powiedzie?
Czy używamy monady?
Najważniejsze pytanie
Co chcesz w życiu robić?
aka


Co dalej?


Dokąd zmierzamy?
Do niedawna nie było tu łatwej
rady co dalej
Serwisy to gateway drug
Prawdziwa zabawa zaczyna się
jak sięgniesz po kolejne narkotyki
Zapoznaj się jak wygląda świat
dużo głebięj
Arkency Ecommerce


https://github.com/RailsEventStore/ecommerce
nietrywialny projekt DDD + CQRS
+ Event Surcing
Wskocz tam aby przekonać się
czy faktycznie to takie dobre
Spójrzmy na kodzik
Dzięki!

[PL] Service objecty to za mało - jak żyć z Railsami?