এওপির সাহায্যে, আমি আমার ব্যবসায়ের যুক্তি থেকে লগিং কোডটি সরিয়ে ফেলতে পারি। তবে আমি মনে করি এটি কেবল সাধারণ জিনিসগুলি লগ করতে ব্যবহার করা যেতে পারে (যেমন লগিং পদ্ধতির প্রবেশ / প্রস্থান এবং প্যারামিটারের মান)।
তবে, আমার ব্যবসার যুক্তিতে কিছু লগ করার দরকার হলে কী করব? যেমন
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
}
উপরের নমুনা পদ্ধতিটি যথেষ্ট পরিষ্কার হতে পারে না, আমি এখানে যেটি দেখাতে চাই তা হ'ল পদ্ধতিটি ডোমেন পয়েন্টের দিক থেকে সবচেয়ে ক্ষুদ্র একক হিসাবে বিবেচনা করা উচিত। এটিকে ছোট ছোট টুকরো করে ভাগ করা উচিত নয়।
পদ্ধতিটির বাইরে 3 লগিং কোডের উপরে যাওয়া কি সম্ভব? এই ধরনের পরিস্থিতির জন্য সর্বোত্তম অনুশীলন কি?