চতুর সফ্টওয়্যার বিকাশ এবং সমস্ত নীতি (এসআরপি, ওসিপি, ...) চিন্তা করার সময় আমি নিজেকে জিজ্ঞাসা করি কিভাবে লগিংয়ের চিকিত্সা করা যায়।
কোনও প্রয়োগের পাশেই লগিং করা কি এসআরপি লঙ্ঘন?
আমি বলব yes
কারণ বাস্তবায়নটি লগ ছাড়াও চালাতে সক্ষম হওয়া উচিত। তাহলে আমি লগিংকে আরও ভালভাবে কীভাবে বাস্তবায়ন করতে পারি? আমি কিছু নিদর্শনগুলি পরীক্ষা করেছি এবং এই সিদ্ধান্তে পৌঁছেছি যে কোনও ব্যবহারকারীর সংজ্ঞায়িত উপায়ে নীতিগুলি লঙ্ঘন না করা, তবে যে কোনও প্যাটার্ন যা কোনও নীতি লঙ্ঘন করার জন্য পরিচিত তা ব্যবহার করা হ'ল সাজসজ্জার প্যাটার্নটি ব্যবহার করা।
ধরা যাক যে এসআরপি লঙ্ঘন ছাড়াই আমাদের সম্পূর্ণ উপাদানগুলির একটি গুচ্ছ রয়েছে এবং তারপরে আমরা লগিং যুক্ত করতে চাই।
- উপাদান ক
- উপাদান বি এ ব্যবহার করে
আমরা এ এর জন্য লগিং চাই, তাই আমরা ইন্টারফেস I প্রয়োগ করে এ দুটি দিয়ে সজ্জিত অন্য একটি উপাদান তৈরি করি I
- ইন্টারফেস আমি
- উপাদান এল (সিস্টেমের লগিং উপাদান)
- উপাদান ক প্রয়োগ করে I
- উপাদান ডি প্রয়োগ করে I, সজ্জিত / এ ব্যবহার করে, লগিংয়ের জন্য এল ব্যবহার করে
- উপাদান বি একটি আই ব্যবহার করে
সুবিধাগুলি: - আমি লগিং ছাড়াই এ ব্যবহার করতে পারি - টেস্টিং এর অর্থ আমার কোনও লগিং মকসের প্রয়োজন নেই - পরীক্ষাগুলি সহজ
অসুবিধা: - আরও উপাদান এবং আরও পরীক্ষা
আমি জানি এটি অন্য একটি মুক্ত আলোচনার প্রশ্ন বলে মনে হচ্ছে, তবে আমি আসলে জানতে চাই যে কেউ ডেকরেটর বা এসআরপি লঙ্ঘনের চেয়ে আরও ভাল লগিং কৌশল ব্যবহার করে কিনা। স্ট্যাটিক সিঙ্গলটন লগার যা ডিফল্ট নললগার হিসাবে হয় এবং সিসলগ-লগিং চাইলে, রানটাইমের সময় একটি বাস্তবায়ন অবজেক্টটি পরিবর্তন করতে পারে?