Laravel’ın varsayılan yapısı basit ve yanıltıcıdır. Yeni geliştiriciler genellikle şunu varsayar:
“Eğer Laravel bu yapıyı sağlıyorsa, bu yeterli olmalıdır.”
Öyledir. Küçük uygulamalar için.
Ama büyüyen uygulamalar için yeterli değildir.
Varsayılan Yapı Tek Bir Problemi Çözüyor
Laravel, aşağıdakileri optimize eder:
- Hızlı başlangıç
- Hızlı prototipler
- Asgari karar verme
- Bu, başlangıçta mükemmel.
Fakat uygulamanız büyüdükçe, yapı sizin için nesnelerin nereye yerleştirileceğini belirtmeye son verir.
Bütünsel Sorular Sorulmalı
Gerçek soru “Bu dosyayı nereye koymalıyım?” değil,
“Bu sorumluluk nerede yaşar?”
Laravel bunun cevabını vermez.
Genellikle Ne Olur
Ekipler dosya klasörleri yaratmaya başlar:
- Services
- Helpers
- Utils
- Traits
Hiçbiri net kurallara sahip değildir.
İki geliştirici, iki farklı yorum.
Yapı Düşünceyi Yansıtmalıdır
İyi bir yapı:
- Alan mantığını, teslimat mantığından ayırır
- İş kurallarını kolayca bulmayı sağlar
- Karar yorgunluğunu azaltır
Kötü bir yapı karmaşıklığı gizler, düzenlemez.
Mükemmel Bir Klasör Ağacı Yoktur
Ve bu rahatsız edici bir gerçektir.
Önemli olan:
- Süreklilik
- Net sahiplik
- Kararlaştırılan kalıplar
- Belirli bir blog yazısına tam olarak uyup uymamanız değil.
Ekiplerin Bunu Ölçeklendirmesi
Yüksek performanslı ekipler:
- Erken mimari kurallar tanımlar
- Kararları belgeler
- Kalıpları uygulamak için incelemeler ve araçlar kullanır
- Bazıları, Laracopilot gibi araçlara dayanarak yapılarını uyum içinde tutmaya çalışır; ne mimari icat etmek için, ne de onların yapısının bozulmasını önlemek için.
Son Not
Klasör yapısı kötü bir sistemi kurtaramaz. Ancak kötü bir yapı, iyi bir sistemi yavaş yavaş yok edebilir.
Seçimlerinizi bilinçli yapın.
Kaynak: Orijinal Makale


