İçgörülere dön

6GEN / İçgörü / Software Architecture

Modüler Sistemler: Sınırlar, Sözleşmeler ve Değişim

Modülerliğin klasör yapısından öte, değişimin etkisini sınırlayan bir sistem davranışı olarak nasıl ele alınabileceğine kısa bir giriş.

Yayınlandı

Güncellendi

  • modularity
  • architecture
  • system-design

Bir sistemi modüler yapan şey yalnızca parçalara ayrılmış olması değildir. Asıl ölçüt, bir parçadaki değişimin diğer parçalar üzerindeki etkisinin öngörülebilir kalmasıdır.

Sınır önce gelir

Her modül üç soruya açık cevap vermelidir:

  1. Hangi sorumluluğa sahiptir?
  2. Hangi verinin sahibidir?
  3. Diğer modüllerle hangi sözleşme üzerinden konuşur?

Bu cevaplar belirsizse fiziksel ayrım, sistem davranışında gerçek bir bağımsızlık oluşturmaz.

İyi tanımlanmış bir sınır, değişimi engellemez; değişimin etkisini görünür kılar.

Sözleşmeler bağlantıyı güvenilir kılar

Modüller arasında kullanılan arayüzler açık, versiyonlanabilir ve gözlemlenebilir olmalıdır. Basit bir sözleşme görünümü şöyle ifade edilebilir:

input -> validation -> module boundary -> observable output
İlkeSistem etkisi
Net sahiplikÇakışan sorumlulukları azaltır
Açık sözleşmeDeğişimin etkisini izlenebilir kılar
GözlemlenebilirlikDavranışın üretimde doğrulanmasını sağlar

Modülerlik, bağımsız parçalar ile güvenilir bağlantılar arasındaki dengedir.


Bu yaklaşım, sistem büyürken yeni modüllerin bütünü yeniden tasarlamadan eklenebilmesi için bir temel oluşturur.