SB← Tüm yazılar

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ı.

LaravelClean CodeArchitecture

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.