Laravel Projelerinde Servis Katmanı Neden Önemli?
Controller’ları sadeleştiren, iş kurallarını test edilebilir hâle getiren servis katmanının pratik kullanımı.
Controller yalnızca akışı yönetmeli
Bir controller’ın görevi isteği almak, doğrulanmış veriyi ilgili iş akışına iletmek ve uygun yanıtı döndürmektir. İş kuralları controller içinde büyüdükçe test etmek ve tekrar kullanmak zorlaşır.
Servis katmanının katkısı
Servis sınıfları iş kurallarını HTTP katmanından ayırır. Böylece aynı akış bir komut, kuyruk görevi veya API tarafından tekrar kullanılabilir. Bağımlılıklar constructor üzerinden alınmalı ve her servis tek bir iş alanına odaklanmalıdır.
Test edilebilirlik
Servis katmanının giriş ve çıkışları nettir. Veritabanı gerektirmeyen kurallar gerçek unit testlerle; kalıcılık içeren akışlar ise entegrasyon testleriyle doğrulanabilir.