আমার পরামর্শ (পছন্দের ক্রম হ্রাসে):
1) এটি করবেন না । প্রকৃত শ্রেণিতে ধ্রুবকগুলি তৈরি করুন যেখানে তারা সবচেয়ে প্রাসঙ্গিক। 'ব্যাগ অফ ধ্রুবক' শ্রেণি / ইন্টারফেস থাকা সত্যই ওও সেরা অনুশীলনগুলি অনুসরণ করে না।
আমি এবং অন্য প্রত্যেকে সময়ে সময়ে # 1 টি উপেক্ষা করি। আপনি যদি তা করতে যাচ্ছেন তবে:
২) প্রাইভেট কন্সট্রাক্টরের সাথে চূড়ান্ত শ্রেণি অন্তত সহজেই অ্যাক্সেস পেতে কনস্ট্যান্টগুলির প্রসারিত / প্রয়োগ করে আপনার 'ব্যাগ কনস্ট্যান্টদের' আপত্তিজনক ব্যবহার থেকে কাউকে প্রতিরোধ করবে। (আমি জানি আপনি বলেছেন যে আপনি এটি করবেন না - তবে এর অর্থ এই নয় যে আপনার সাথে আসার পরে কেউ আসছেন)
3) ইন্টারফেস এটি কাজ করবে, তবে আমার পছন্দটি # 2-তে সম্ভাব্য দুর্ব্যবহারের কথা উল্লেখ করে নয়।
সাধারণভাবে, কেবলমাত্র এগুলি ধ্রুবকগুলির অর্থ এই নয় যে আপনার এখনও তাদের মধ্যে সাধারণ oo নীতি প্রয়োগ করা উচিত নয়। যদি এক শ্রেণি ব্যতীত অন্য কেউ ধ্রুবক সম্পর্কে চিন্তা না করে - এটি ব্যক্তিগত এবং সেই শ্রেণিতে হওয়া উচিত। যদি কেবল পরীক্ষাগুলি ধ্রুবক সম্পর্কে যত্নশীল হয় - এটি কোনও পরীক্ষার শ্রেণিতে থাকতে হবে, উত্পাদন কোড নয়। যদি একাধিক স্থানে ধ্রুবক সংজ্ঞায়িত করা হয় (কেবল দুর্ঘটনাক্রমে একই নয়) - সদৃশটিকে অপসারণের জন্য রিফ্যাক্টর। এবং তাই - তাদের মতো আচরণ করুন যেমন আপনি কোনও পদ্ধতি করেন।