Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Facade Pattern: Karmaşık Alt Sistemi Tek Kapıdan Sunmak
Facade, birden fazla subsystem'i doğru sırayla ve doğru compensation adımlarıyla kullanma bilgisini tek bir class'a toplar; subsystem'i kapatmadan client'a kolay bir giriş noktası verir. Bookstore'da stok, ödeme, fatura ve bildirimi koordine eden bir CheckoutFacade, File.ReadAllTextAsync ve GetFromJsonAsync'in arkasındaki gerçek kod, Facade'ın Service Layer, Adapter ve Mediator'dan farkı ve god facade tuzağı.
Single Responsibility Principle: "Tek İş" Değil, Tek Actor
SRP "bir class tek şey yapar" demek değildir; Martin'in tanımıyla bir module tek bir actor'a, yani aynı değişikliği isteyen tek bir kişi ya da gruba karşı sorumlu olmalıdır. Muhasebenin bir değişikliğinin İK raporunu bozduğu Employee örneği, veriyi paylaşıp davranışı ayırmak, Facade, .NET'teki Stream/StreamWriter/Encoding ayrımı ve fragmentation tuzağı.