AOP yardımı ile günlük kodunu iş mantığımdan kaldırabilirim. Ama sadece basit şeyler (yani günlükleme yöntemi giriş / çıkış ve parametre değerleri) günlüğe kaydetmek için kullanılabilir düşünüyorum.
Ancak, iş mantığımda bir şey kaydetmem gerekirse ne olur? Örneğin
public void SomeDomainMethod(string id)
{
//Get user by Id
User user = Users.Get(id);
if (user == null)
{
Log.Warn("user is not existed"); //<----------------- Log A
throw new InvalidOperationException("user is not existed");
}
//Step 1
while(true)
{
//do something
}
Log.Info("Step 1 is completed"); //<----------------- Log B
//Step 2
while(true)
{
//do something
}
Log.Info("Step 2 is completed"); //<----------------- Log C
}
Yukarıdaki örnek yöntem yeterince açık olmayabilir, burada göstermek istediğim, yöntemin etki alanı açısından en küçük birim olarak ele alınması gerektiğidir. Daha küçük parçalara bölünmemelidir.
3 günlük kodunun üstünde yöntemin dışına çıkmak mümkün mü? Böyle bir durum için en iyi uygulama nedir?