Java Spring MVC 4. Day (Dördüncü Gün)
temel java kod yazımı kuralları:
-
Sınıflar büyük harfle yazılır.
-
Field → lastName → küçük harfle başlar.
-
Listelerde vs. çoğul isim kullanılır.
Dependency injection: yapılar arası bağımlılığı azaltarak daha flexible kodlar yazabiliriz. Bu sayede test ve dönüşümler daha hızlı yapılır. Eğer bir bağımlı implementasyonda değişiklik yapacaksak, tek yapmamız gereken o objeyi inject etmek. Usually a container (spring mvc vs.) manages the lifecycle of objects and their dependencies based on configuration file or annotaions.
MVC → mimari desen
view: html, js, css, pdf, jsp → daha render olmamış taraf.
Controller: karar merkezimiz , view için sonuç üretir.
Model: fieldler ve methodlar içerir.
How to work ?
FrontController Dispatcher Servlet → Controller → model -> View → html vs.
Servis Katmanı: Mesela formdaki tc kimlik no → devletten onaylamak gerekebilir. Bu tür external uygulamalar vs servis katmanındadır. Koyduğumuz kurallar kompleks oldukça bu kontrolleri yapar. Controller ise daha basit kontroller gerçekleştirir.
Dao → spesifik işlemlerde kullanılır. Tek sorumluluğu dataya ulaşmak. Bunun dışında işlemleri Dao ya yüklememeliyiz.
Business logic → iş kuralları → yazılımın çözmeye çalıştığı problemler servis katmanında yazılır.
SRP → Single responsibility princible : her nesnenin yalnızca bi iten sorumlu olması gerektiğini belirtir. Controller sadece basit kontrol ve yönlendirmeleri yapıyor. Servis katmanının işini controller a yüklememeliyiz. Bir değişikliğin olabilecek en az değişikliğe yol açmasını sağlamak için bu mimariler vardır. Spring layerlara bölerek bu sorunu çözüyor. Weble alakalı nesneleri servis katmanı ve ötesine geçirmemeliyiz. Storaged procedure, trigger vs. → database içinde bu işlemleri yapmak zamanla problem oluşturuyor → yazılım yapmanın doğal alkışına aykırı.Bunları servislere yazarak bunu daha flexible hale getiriyoruz.