Mimari (IT)Uygulama Mimarı Geliştirici

Bir modern projede modüllerin ve hizmetlerin mimari düzeyinde Tek Sorumluluk Prensibi'ni (Single Responsibility Principle, SRP) nasıl uygularsınız?

Hintsage yapay zeka asistanı ile mülakatları geçin

Cevap.

SRP, SOLID ilkelerinden ilki olup, her varlığın (modül, hizmet, sınıf) değişim için sadece bir nedeni olması gerektiğini ifade eder. Mimaride bu, sistemi sorumluluk alanlarına göre hizmetlere/modüllere bölerek gerçekleştirilir. Örneğin, ayrı bir hizmet kullanıcıları kaydeder, diğeri ödemeleri yönetir, üçüncüsü – bildirimleri gönderir.

Node.js Örneği:

// userService.js module.exports = { registerUser(data) { /* kayıt işlemi */ } } // paymentService.js module.exports = { processPayment(order) { /* ödeme işlemi */ } } // notificationService.js module.exports = { sendEmail(user, content) { /* e-posta gönderimi */ } }

Anahtar Özellikler:

  • Her hizmet/modül yalnızca bir iş sürecinden sorumludur
  • Bir alandaki değişiklikler sistemin diğer bölümlerini etkilemez
  • Geliştirme ekiplerini desteklemek ve ölçeklendirmek daha kolaydır

Yanıltıcı Sorular.

SRP, bir hizmetin diğer hizmetlerle etkileşime girmemesi anlamına mı gelir?

Hayır. Hizmetler, kendi iş operasyonları içindeki sorumluluklarını koruyarak, net bir şekilde tanımlanmış API'ler üzerinden etkileşime girebilirler.

SRP, ayrı dosyalara veya projelere bölmeden uygulanabilir mi?

Teknik olarak mümkündür, ancak ölçeklenebilirlik ve kod okunabilirliği için fiziksel birimlere ayırma önerilir: ayrı dosyalar, paketler, hizmetler.

SRP sadece kod için mi yoksa genel mimari için mi geçerlidir?

SRP, hizmetlerin/modüllerin tasarımından belirli sınıflar ve fonksiyonlar yazımına kadar tüm seviyelerde geçerlidir.