আমি একটি অ্যাপ্লিকেশন বিকাশ করছি যা একটি শিল্প পরিবেশে ভালভ খুলতে এবং বন্ধ করতে ব্যবহৃত হবে, এবং এর মতো সহজ কিছু ভাবছিলাম: -
public static void ValveController
{
public static void OpenValve(string valveName)
{
// Implementation to open the valve
}
public static void CloseValve(string valveName)
{
// Implementation to close the valve
}
}
(প্রয়োগটি ভাল্বকে নিয়ন্ত্রণ করতে সিরিয়াল বন্দরটিতে কিছু বাইট উপাত্ত লিখবে - ভাল্বের নাম থেকে প্রাপ্ত একটি "ঠিকানা" এবং ভালভ খুলতে বা বন্ধ করতে "1" বা "0")।
অন্য দেব জিজ্ঞাসা করেছিলেন যে আমরা পরিবর্তে প্রতিটি শারীরিক ভালভের জন্য আলাদা ক্লাস তৈরি করা উচিত, যার মধ্যে কয়েক ডজন রয়েছে। আমি সম্মত হই যে কোডটির PlasmaValve.Open()
চেয়ে কোডটি লেখার চেয়ে ভাল লাগবে ValveController.OpenValve("plasma")
, তবে এটি কি ওভারকিল?
এছাড়াও, আমি ভাবছিলাম যে ভবিষ্যতের বেশ কয়েকটি প্রয়োজনীয় প্রয়োজনীয়তা মাথায় রেখে নকশাটি কীভাবে মোকাবেলা করা যায়:
- আমাদের নতুন ধরণের ভালভকে সমর্থন করতে বলা হয় যাতে এটি খুলতে এবং বন্ধ করতে বিভিন্ন মান প্রয়োজন (0 এবং 1 নয়)।
- আমাদের এমন একটি ভালভকে সমর্থন করতে বলা হয় যা কেবল "খোলা" বা "বন্ধ" না হয়ে 0-100 থেকে যে কোনও অবস্থানে সেট করা যায়।
সাধারণত আমি এই ধরণের জিনিসটির জন্য উত্তরাধিকার ব্যবহার করব তবে আমি সম্প্রতি "মাথা ধরণের ওপরে অংশীদারিত্ব" নিয়ে মাথা পেতে শুরু করেছি এবং ভাবছি যে রচনাটি ব্যবহার করার মতো কোনও চিকিত্সা সমাধান আছে কিনা?