Modüler Yapı Ne Demek?
İngilizce: Modular Design
Yayın: · Son güncelleme:
Modüler Yapı Ne Demek? Kısaca
Modüler yapı, bir yazılımın her biri belirli bir işi üstlenen, net bir arayüzle dışarıya açılan ve diğer parçalardan olabildiğince bağımsız çalışan modüllere bölünerek tasarlanmasıdır.

Modüler yapı ne demek?
Modüler yapı, büyük bir programı küçük ve anlamlı parçalara ayırmaktır. Her modül tek bir sorumluluk taşır; örneğin biri kullanıcı girişini, biri faturalandırmayı, biri raporlamayı yönetir. Modüller birbirinin iç detayını bilmez, yalnız dışarıya açtıkları fonksiyonlar üzerinden konuşur.
Bunu LEGO parçalarına benzetebilirsiniz. Bir parçayı söküp yenisini takmak, tüm yapıyı yıkmayı gerektirmez.
İyi bir modül nasıl olur?
Yazılım tasarımında iki kavram öne çıkar: yüksek bağlılık (cohesion) ve düşük bağımlılık (coupling). Yüksek bağlılık, modülün içindeki her şeyin aynı amaca hizmet etmesi demektir. Düşük bağımlılık ise modülün diğer modüllere olabildiğince az dayanmasıdır.
Bir e-ticaret projesinde kargo modülünü düşünün. Modül yalnız kargoUcretiHesapla(agirlik, sehir) fonksiyonunu dışarı açar. Arka planda hangi kargo firmasıyla çalıştığı gizlidir. Yarın firma değişirse sepet, ödeme ya da sipariş modüllerinde tek satır değişmez.
Faydaları ve dikkat edilecekler
Modüler kod okunur, test edilir ve tekrar kullanılır. Ekipteki geliştiriciler farklı modüller üzerinde aynı anda çalışabilir. Hata çıktığında sorunlu bölgeyi daraltmak kolaylaşır.
Ancak her şeyi aşırı küçük parçalara bölmek de sorun yaratır; bir işlemi takip etmek için on dosya açmanız gerekebilir. Modül sınırlarını iş alanlarına göre çizmek iyi bir başlangıçtır. Mevcut bir projede, birbirine en çok bağımlı dosyaları bulup onları tek bir klasörde toplamak modülerliğe atılacak ilk somut adım olur.
Sıkça Sorulan Sorular
Modüler yapı ile mikroservis arasındaki fark nedir?
Modüler yapı, aynı uygulama içinde kodun parçalara ayrılmasıdır. Mikroservislerde ise her parça ayrı bir süreç olarak çalışır ve ağ üzerinden haberleşir.
Modüler kod yazmanın faydası nedir?
Kod daha kolay okunur, test edilir ve yeniden kullanılır. Bir modüldeki değişiklik diğer modülleri etkilemediği için hata riski de azalır.