ধ্রুবক পূর্ণ ক্লাস ব্যবহার করা আইএমও ধ্রুবকদের জন্য ঠিক। যদি সেগুলি মাঝেমধ্যে পরিবর্তিত হয় তবে আমি আপনার কনফিগারেশন এবং এর পরিবর্তে কনফিগারেশনম্যানেজার ক্লাসে অ্যাপসেটিংগুলি ব্যবহার করার পরামর্শ দিচ্ছি।
যখন আমার কাছে "ধ্রুবকগুলি" থাকে যা আসলে অ্যাপসেটিংস বা অনুরূপ থেকে টানা হয় আমার তখনও সবসময় একটি "ধ্রুবক" বর্গ থাকবে যা কনফিগারেশন ম্যানেজারের কাছ থেকে পাঠকে আবৃত করে। সেটিংস মানটি বলতে চাইলে যে কোনও জায়গায় Constants.SomeModule.Setting
সরাসরি আশ্রয় নেওয়ার পরিবর্তে এটি সর্বদা আরও অর্থবহ ConfigurationManager.AppSettings["SomeModule/Setting"]
হয়।
এই সেটআপের জন্য বোনাস পয়েন্টগুলি, যেহেতু SomeModule
সম্ভবত কনস্ট্যান্টস ফাইলের অভ্যন্তরে একটি নেস্টেড বর্গ হতে পারে, আপনি নির্ভরশীল ইনজেকশনটি SomeModule
সরাসরি এটির উপর নির্ভর করে যে ক্লাসগুলিতে সরাসরি ইনজেক্ট করতে ব্যবহার করতে পারেন । এমনকি আপনি উপরের দিকে একটি ইন্টারফেসও বের করতে পারেন SomeModule
এবং তারপরে ISomeModuleConfiguration
আপনার গ্রাহক কোডে একটি অবক্ষয় তৈরি করতে পারেন , এরপরে এটি আপনাকে কনস্ট্যান্ট ফাইলগুলির উপর নির্ভরতা ডিক্লোল করার অনুমতি দেয় এবং এমনকি সম্ভাব্যভাবে পরীক্ষাও সহজতর করে, বিশেষত যদি এই সেটিংস অ্যাপসেটিং থেকে আসে এবং আপনি সেগুলি কনফিগার ট্রান্সফর্মেশন ব্যবহার করে পরিবর্তন করেন কারণ সেটিংস পরিবেশ নির্দিষ্ট।