আমি নিম্নলিখিত লাইন বরাবর এটি যুক্তিযুক্ত হবে:
- আপনার পদ্ধতিটি কেন একাধিক মান ফেরত দেয়? আমরা কোন ধরণের সংহতির কথা বলছি - সেই মানগুলি কি আসলে একটি একক শ্রেণীর ক্ষেত্র হওয়া উচিত, বা এগুলি কেবল কাকতালীয়ভাবে একই পদ্ধতিতে ফিরে আসা, তবে অন্যথায় সম্পর্কহীন? যদি এটি পরে হয় তবে আপনি পদ্ধতিটিকে দুটি পদ্ধতিতে বিভক্ত করার কথা বিবেচনা করতে পারেন। সম্পাদনা করুন: আপনার রায় এখানে ব্যবহার করুন; কখনও কখনও "কাকতালীয়" সংঘবদ্ধতার এক ধরণের সেরা বিকল্প হতে পারে। আরেকটি বিকল্প হ'ল একটি জোড় বা টুপল কনস্ট্রাক্ট ব্যবহার করা, যদিও ওওপি-তে সাধারণত এগুলি পাবলিক এপিআইতে দেখা যায় না (কিছু উল্লেখযোগ্য ব্যতিক্রম স্ট্যান্ডার্ড সংগ্রহ ইত্যাদি)।
- মানগুলি যদি কোনও শ্রেণি গঠনের যোগ্য হয় তবে আমি সম্ভবত অভ্যন্তরীণ শ্রেণীর ব্যবহারের বিরুদ্ধে পরামর্শ দেব। অভ্যন্তরীণ ক্লাসগুলি সাধারণত অভ্যন্তরীণ প্রয়োগের বিশদ হিসাবে ব্যবহৃত হয়, যা বাইরে থেকে লুকানো থাকে। এই ফলাফলটি একটি "পূর্ণ-বিকাশমান" শ্রেণি না হওয়া তার কোনও কারণ আছে কি?
- ডেটা ধরে রাখা ছাড়া এই নতুন বর্গের জন্য কী অপারেশনগুলি প্রযোজ্য? অবজেক্ট ওরিয়েন্টেড ডিজাইনে, আপনি সম্পর্কিত আচরণটি সম্পর্কিত ডেটার (যেগুলি আপনার উদ্দেশ্য হিসাবেও মনে হয়) কাছাকাছি থাকতে চান। আপনি যে পদ্ধতিটি উল্লেখ করছেন সেটি কি এই ক্লাসে না বাস করা উচিত?
সংক্ষিপ্তসার হিসাবে, আমি দেখতে পাব যে আমি এই "ডেটা অবজেক্ট "টিকে ডেটা এবং আচরণ উভয়ই একটি ক্লাস-ক্লাসে পরিণত করতে পারি কিনা। অতিরিক্ত মন্তব্য হিসাবে, আপনি শ্রেণিটিকে অপরিবর্তনীয় করতে চাইতে পারেন, যেহেতু এর রাজ্য একবার সেট করা হয়েছে। এটিকে অপরিবর্তনীয় করে তোলা এটিকে ভুলভাবে সেট করা, বা পরে সংশোধন করা রোধ করতে সহায়তা করবে (বলুন, কেউ ক্ষেত্রের মধ্যে একটি স্থির করে দেয় এবং এটি পাশ দিয়ে যায়)।
সম্পাদনা করুন: প্যাটকোস সিসাবা সঠিকভাবে উল্লেখ করেছেন যে, এখানে যে নীতি প্রয়োগ করা হচ্ছে তা হ'ল একক দায়িত্বের নীতি ( এসআরপি ) - আপনি যে শ্রেণীর তৈরি করতে চেষ্টা করছেন তার সত্যিকারের একটি দায়িত্ব থাকা উচিত ( পরিবর্তনের কারণ হিসাবে সংজ্ঞায়িত )। এই দুটি নকশা গাইডলাইন আপনাকে আপনার দুটি ক্ষেত্র একক শ্রেণীর অন্তর্ভুক্ত কিনা তা নির্ধারণ করতে সহায়তা করবে help উইকিপিডিয়া উদাহরণের সাথে তাল মিলিয়ে বলতে গেলে, আপনার শ্রেণিটি এমন এক ধরণের প্রতিবেদন হিসাবে দেখা যেতে পারে, যা এটি এসআরপির সাথে সামঞ্জস্যপূর্ণ তবে আরও তথ্য না দিয়ে মন্তব্য করা শক্ত difficult
BitInteger[] java.math.BigInteger.divideAndRemainder(BitInteger val)
। এটি একটি অ্যারেতে 2 এর পূর্ণসংখ্যাকে তার মান হিসাবে ফেরত দেয়।