আমার দুটি জিনিস রয়েছে যা 'বার / ক্লাব' উপস্থাপন করে (এমন একটি জায়গা যেখানে আপনি পান করেন / সামাজিকীকরণ করেন)।
একটি দৃশ্যে আমার বারের নাম, ঠিকানা, দূরত্ব, স্লাগন প্রয়োজন
অন্য দৃশ্যে আমার বারের নাম, ঠিকানা, ওয়েবসাইট ইউআরএল, লোগো দরকার
সুতরাং আমি একই জিনিস প্রতিনিধিত্ব করে দুটি ক্ষেত্র পেয়েছি কিন্তু বিভিন্ন ক্ষেত্রের সাথে।
আমি অপরিবর্তনীয় বস্তু ব্যবহার করতে চাই, সুতরাং সমস্ত ক্ষেত্র নির্মাতা থেকে সেট করা আছে ।
একটি বিকল্পের জন্য দুটি কনস্ট্রাক্টর রয়েছে এবং অন্যান্য ক্ষেত্রগুলি বাতিল করতে হবে:
class Bar {
private final String name;
private final Distance distance;
private final Url url;
public Bar(String name, Distance distance){
this.name = name;
this.distance = distance;
this.url = null;
}
public Bar(String name, Url url){
this.name = name;
this.distance = null;
this.url = url;
}
// getters
}
আমি এটি পছন্দ করি না কারণ আপনি যখন পরীক্ষক ব্যবহার করেন তখন আপনাকে চেক করতে হবে
আমার বাস্তব উদাহরণে প্রথম দৃশ্যে 3 টি ক্ষেত্র রয়েছে এবং দ্বিতীয় দৃশ্যে প্রায় 10 রয়েছে, সুতরাং এটির জন্য দু'জন নির্মাতা থাকলে আসল ব্যথা হবে fields Bar
আপনি জানেন না আপনি কোনটি ব্যবহার করছেন এবং কোন ক্ষেত্রগুলি শূন্য হবে এবং কী হবে না।
আমার আর কোন বিকল্প নেই?
দুটি ক্লাস বলা হয় BarPreview
এবং Bar
?
কিছু ধরণের উত্তরাধিকার / ইন্টারফেস?
কি দুর্দান্ত কিছু?
You should only ask practical, answerable questions based on actual problems that you face.
এবং ঠিক এখানেই যা ঘটছে
Bar
সনাক্তকারী হিসাবে বৈধ ব্যবহার নিয়ে এসেছেন !