İçeriğe geç
parazade

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ı nedir?
İçindekiler
  1. Modüler yapı ne demek?
  2. İyi bir modül nasıl olur?
  3. Faydaları ve dikkat edilecekler

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.

İlgili terimler

Modül(Module)Modül, belirli bir işe ait fonksiyonları, sınıfları ve değişkenleri bir arada tutan, programın geri kalanından ayrı bir kod birimidir. Genellikle tek bir dosyadır ve başka dosyalardan import edilerek kullanılır.Monolitik Mimari(Monolithic Architecture)Monolitik mimari, bir uygulamanın arayüz, iş mantığı ve veri erişimi dâhil tüm parçalarının tek bir kod tabanında geliştirildiği ve tek bir birim olarak derlenip sunucuya dağıtıldığı yazılım mimarisidir.Temiz Kod(Clean Code)Temiz kod (clean code), başka bir geliştiricinin kolayca okuyup anlayabileceği, değiştirebileceği ve test edebileceği biçimde yazılmış koddur. Anlamlı isimler, küçük ve tek işe odaklı fonksiyonlar ve gereksiz karmaşıklıktan uzak bir yapı temel özellikleridir.Yazılım Mimarisi(Software Architecture)Yazılım mimarisi, bir yazılım sisteminin ana bileşenlerini, bu bileşenlerin birbiriyle nasıl iletişim kurduğunu ve sistemin hangi ilkelere göre büyüyeceğini belirleyen üst düzey yapı ve kararlar bütünüdür.Yazılım(Software)Yazılım, bir bilgisayarın ya da akıllı cihazın ne yapacağını adım adım tarif eden programların, verilerin ve talimatların bütünüdür. Donanım fiziksel parçaları, yazılım ise bu parçaları çalıştıran mantığı ifade eder.Bağımlılık(Dependency)Yazılımda bağımlılık (dependency), bir projenin çalışmak için ihtiyaç duyduğu dış kütüphane, paket ya da modüldür. Bağımlılık eksik ya da uyumsuz sürümde olursa proje derlenmez veya hatalı çalışır.