Log4j'yi koduma uyguladığımdan beri kesişen kaygılar hakkında çevrimiçi okuyorum. Bazıları AspectJ kullanarak söylüyorlar, bazıları ise işlevsel programlamayı bozduğuna işaret ediyor. Bu karışımlar, çapraz kesim endişeleri için Scala'nın çözümü. Bununla birlikte, kendisiyle ilgili olmayan bir nesneye/sınıfa bir özellik ekleyeceğimi düşündüğüm zaman, ben de bir saçmalıyorum.Çapraz kesim endişeleriyle nasıl başa çıkılır Scala yolu
örn. new Database with Logger
Logger
burada Database
ile ilgisi yok, ancak nasıl kayıt sağlamak için karıştırma yapması gerekiyor. Bunu Scala yolunu yapmayı tercih ederim, bu yüzden insanların mikslerle ne demek istediğini öğrenmek istiyorum.
Birisi bana bu konuda Scala'da nasıl hızlı bir örnek gösterebilir?
Bu, Java'da genel bir değişkene sahip olmakla aynı şeydir. Ve bağımlılık enjeksiyonunun amacını reddeder. –
Bu, Java'da global bir değişkene sahip olmakla aynı şey değildir, eğer çapraz bağlanma kaygısına sahip olmak istediğiniz bağımlılıkları varsa, bunları çapraz veya kesikli parametrelere çapraz kesim yöntemine geçirebilirsiniz. Hiçbir şey şart değildir Tek bir günlüğün kaydedilmesi, yalnızca kod örneği özetini yapmak için yapıldı (ve nadiren bir kaydediciyi enjekte edeceğinizden). – johanandren
yeterince adil. Şimdi anladım. –