Servis katmanı, uygulamanın iş kurallarını taşıdığı yerdir. Bu katman büyüdükçe düzenli isimlendirme, net sorumluluklar ve test edilebilir yapı daha değerli hale gelir.
Bir servis her şeyi bilmemeli
Bir sınıf hem veri erişimini, hem doğrulamayı, hem mail göndermeyi, hem de rapor üretmeyi üstleniyorsa değişiklik yapmak zorlaşır. Sorumlulukları küçük parçalara ayırmak bakım maliyetini düşürür.
İsimlendirme niyeti göstermeli
Metot isimleri teknik ayrıntıdan çok iş niyetini anlatmalıdır. `CreateReservation` gibi net bir isim, içeride hangi adımların çalışacağını okumadan önce bile davranış hakkında fikir verir.
Test edilebilirlik tasarım kararıdır
Bağımlılıkları dışarıdan alan, yan etkileri sınırlı ve sonucu açık olan servisleri test etmek daha kolaydır. Bu kolaylık yalnızca test yazmayı değil, kodu güvenle değiştirmeyi de sağlar.
Küçük alışkanlıklar birikince servis katmanı daha okunabilir, daha sakin ve uzun vadede daha sürdürülebilir hale gelir.