Mimariler
Monolitik mimari
Monolitik mimari, bir yazılımın tek bir kod tabanı ve tek bir dağıtım birimi olarak kurulduğu geleneksel modeldir. Kendi içinde bütündür ve diğer uygulamalardan bağımsız çalışır.
Monolit nedir?
Monolitik bir uygulamada kullanıcı arayüzü, iş kuralları ve veri erişimi aynı kod tabanında yaşar; birlikte derlenir ve birlikte dağıtılır. Uygulamanın küçük bir bölümünü değiştirmek bile tüm uygulamanın yeniden derlenmesini, test edilmesini ve dağıtılmasını gerektirir. Bu da güncellemeleri kısıtlar ve yavaşlatır.
Bu yapı bir projenin erken döneminde çok işe yarar: kodu yönetmek, sistemi kafada canlandırmak ve dağıtım yapmak kolaydır; her şey tek seferde yayına alınır. Sorunlar genellikle uygulama ve ekip büyüdükçe ortaya çıkar.
Monolitik mimarinin avantajları
Tek kod tabanının sadeliği, özellikle ürünün ilk yıllarında geliştirme hızını artırır.
Monolitik mimarinin zorlukları
Monolitler, büyüyüp ölçeklemek zorlaşana kadar oldukça verimli çalışır. Küçük bir değişiklik için tüm platformu derleyip test etmek, sık ve küçük adımlarla ilerlemek isteyen ekipleri yavaşlatır.
Katmanlı (n katmanlı) mimari
En yaygın kullanılan mimari desendir; n katmanlı ya da çok katmanlı mimari olarak da bilinir. Benzer işleri yapan bileşenler yatay mantıksal katmanlarda toplanır ve her katman uygulama içinde belirli bir rol üstlenir.
Uygulama hâlâ monolitiktir, ancak katmanlar sorumlulukları birbirinden ayırır: doğru kurulduğunda bir katmanda yapılan değişiklik diğer katmanları etkilemez.
Sunum katmanı kullanıcının sistemle etkileşimini, örneğin bir web uygulamasını yönetir. Uygulama ve iş katmanı kullanım senaryoları gibi işlevsel gereksinimleri karşılar. Veri katmanı verinin ve SQL gibi veritabanlarının yönetiminden sorumludur.
Tasarım ilkeleri: sorumlulukların ayrılması ve SOLID
Bir monolitin uzun yıllar sağlıklı kalması büyük ölçüde bu ilkelere bağlıdır. Sorumlulukların ayrılması (separation of concerns), programı her biri tek bir konuyla ilgilenen bölümlere ayırarak karmaşıklığı yönetir; hedef düşük bağımlılık ve yüksek uyumdur.
Size nasıl yardımcı olabiliriz?
Otuz dakika. Sistemi anlatırsınız, biz nereden başlayacağımızı söyleriz.
