Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Slice'lar Arası Paylaşım: Duplication mı Abstraction mı, Domain Logic Nereye?
Slice'lar arasında domain model, cross-cutting işler ve altyapı paylaşılır; request/response tipleri, sorgular ve iş akışı paylaşılmaz, invariant'lar ise ikinci kopyayı beklemeden entity'ye taşınır. Bookstore'da request'e konmuş bir kuralın 7 adetlik siparişe izin verdiğini, bir slice'ın başka bir slice'ı çağırınca ödemesi reddedilmiş siparişi kaydettiğini gerçek çıktılarla görüyor ve bunu ArchUnitNET slice test'iyle engelliyoruz.
Vertical Slice Ne Zaman? Clean Architecture ve Modular Monolith ile Birlikte Kullanmak
Vertical slice'lar sık feature eklenen, karmaşıklığı use case'e göre değişen API'lerde iyi çalışır; refactoring disiplini olmayan ekiplerde ve zengin, paylaşılan domain'lerde tek başına yetmez, en iyi sonucu Clean bir domain çekirdeği ve modular monolith sınırlarıyla birlikte verir. Bookstore'u module'lere ayırıp sınırı internal ve ArchUnitNET ile koruyor, FastEndpoints ile REPR'ı değerlendiriyor ve layered bir projeyi slice'lara kademeli taşıma planını çıkarıyoruz.