Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Yazılım Mimarisi Nedir? Design'dan Farkı ve Architect'in Rolü
Yazılım mimarisi, sistemin önemli property'lerini belirleyen ve geri alınması pahalı olan kararlardır; design ile arasında kesin bir çizgi değil, stratejik ve taktik uçlu bir spectrum vardır. SEI, ISO/IEC/IEEE 42010 ve Fowler/Johnson tanımları, FoSA'nın üç yasası, architect'in rolü ve kategori boyunca kullanılacak Bookstore örneği.
Trade-off Düşüncesi: Mimaride Doğru Cevap Yok, En Az Kötü Seçenek Var
Mimaride her seçenek bir characteristic'i başka birinin pahasına kazanır; iş, bedeli görünür kılıp bilinçli kabul etmektir. Bookstore'da sipariş e-postasını senkron göndermek checkout'u SMTP'ye bağlayıp çift sipariş üretirken, Channel<T> ile queue'ya almak checkout'u 1 ms'ye indiriyor ama process kapanınca 3 e-postayı kaybediyor; one-way/two-way door, last responsible moment ve kararın neden'ini yazmak.