Kodu içerisinde Product::latest() ifadesinin kaç kez geçtiğini hiç merak ettiniz mi?
Eğer cevap birden fazlaysa, DRY (Don’t Repeat Yourself) prensibine uymuyorsunuz; sadece organize bir tekrara sahipsiniz. Her tekrar eden sorgu giriş noktası, o sorgunun nasıl davranması gerektiğine dair başka bir yorumdur. Zamanla tutarsızlıklar sessizce devreye girer ve gelecekteki değişiklikler bir hazine avına dönüşür.
Atomic Query Construction (AQC) bu durumu tek bir kural ile çözer:
Her modelin, özel bir yürütme sınıfı içerisinde tam olarak bir sorgu giriş noktası olmalıdır.
// Her. Tek. Zaman.
(new GetProducts())->handle($params);
Filtreler, sıralama, sayfalama — hepsi parametreler aracılığıyla kontrol edilir. Değişiklik yapmanız gereken tek yer, hata ayıklamanız gereken tek yer; sıfır tutarsızlık.
📖 Tüm makaleyi okumak için buraya tıklayın.
Kaynak: Orijinal Makale


