আমি এই জাতীয় শনাক্তকারীদের জন্য কাস্টম ধরণের তৈরি সম্পর্কে ভাবছিলাম:
public enum CustomerId : int { /* intentionally empty */ }
public enum OrderId : int { }
public enum ProductId : int { }
এটির জন্য আমার প্রাথমিক প্রেরণা হ'ল যে ধরণের বাগ আপনি যেখানে ভুলবশত অর্ডার আইটেমটিটেলইড প্রত্যাশা করে এমন কোনও ফাংশনটিতে অর্ডার আইটেম আইড পাস করে prevent
দেখে মনে হচ্ছে যে এনামগুলি আমি একটি আদর্শ। নেট ওয়েব অ্যাপ্লিকেশনটিতে ব্যবহার করতে চাইবে এমন সমস্ত কিছু নিয়ে নির্বিঘ্নে কাজ করে:
- এমভিসি রাউটিংটি দুর্দান্ত কাজ করে
- জেএসওএন সিরিয়ালাইজেশন সূক্ষ্মভাবে কাজ করে
- প্রতিটি ওআরএম আমি সূক্ষ্ম কাজ সম্পর্কে ভাবতে পারি
তাই এখন আমি ভাবছি, "আমি কেন এটি করব না?" এগুলি কেবলমাত্র আমিই ভাবতে পারি:
- এটি অন্যান্য বিকাশকারীদের বিভ্রান্ত করতে পারে
- এটি আপনার সিস্টেমে অসঙ্গতি পরিচয় করিয়ে দেয় যদি আপনার কোনও অ-অবিচ্ছেদ্য শনাক্তকারী থাকে।
- এটির জন্য অতিরিক্ত কাস্টিংয়ের প্রয়োজন হতে পারে
(CustomerId)42। তবে আমি মনে করি না এটি একটি সমস্যা হয়ে উঠবে, যেহেতু ওআরএম এবং এমভিসি রাউটিং সাধারণত আপনাকে এনাম টাইপের মানগুলি সরাসরি প্রদান করবে।
সুতরাং আমার প্রশ্ন, আমি কি অনুপস্থিত? এটি সম্ভবত একটি খারাপ ধারণা, তবে কেন?