আমার সি ++ প্রকল্পে আমার দুটি ক্লাস রয়েছে Particleএবং Contact। ইন Particleবর্গ, আমি সদস্য পরিবর্তনশীল আছে std::vector<Contact> contactsযা এর সকল পরিচিতি রয়েছে Particleবস্তুর, এবং সংশ্লিষ্ট সদস্য ফাংশন getContacts()এবং addContact(Contact cont)। সুতরাং, "পার্টিকেল.এইচ" তে, আমি "পরিচিতি।" অন্তর্ভুক্ত করেছি।
ইন Contactবর্গ, আমি কোডের জন্য কন্সট্রাকটর যোগ করতে চাই Contactযে ডাকব Particle::addContact(Contact cont)যাতে, contactsউভয়ের জন্য আপডেট করা হয় Particleবস্তু যার মধ্যে Contactঅবজেক্ট যোগ করা হচ্ছে। সুতরাং, আমি "পরিচিতি.পি.পি" "পার্টিকাল.এইচ" অন্তর্ভুক্ত করতে হবে।
আমার প্রশ্ন হ'ল এটি গ্রহণযোগ্য / ভাল কোডিং অনুশীলন কিনা এবং যদি না হয় তবে আমি যা অর্জন করতে চাইছি তা কার্যকর করার আরও ভাল উপায় কী হবে (সহজভাবে বলা যায়, যখনই কোনও নতুন পরিচিতি সুনির্দিষ্ট কণার জন্য পরিচিতিগুলির তালিকা স্বয়ংক্রিয়ভাবে আপডেট করে থাকে) সৃষ্ট).
এই ক্লাসগুলি এমন একটি Networkশ্রেণীর সাথে একত্রে আবদ্ধ হবে যাতে এন কণা ( std::vector<Particle> particles) এবং এনসি পরিচিতি ( std::vector<Contact> contacts) থাকবে। তবে আমি particles[0].getContacts()যেমন ফাংশনগুলি সক্ষম করতে সক্ষম হয়েছি - Particleএই ক্ষেত্রে ক্লাসে এই জাতীয় ফাংশনগুলি রাখা কি ঠিক আছে , বা এই উদ্দেশ্যে সি ++ তে আরও ভাল "কাঠামো" রয়েছে (দুটি শ্রেণীর অন্য শ্রেণিতে ব্যবহৃত হচ্ছে) ।
আমি কীভাবে এটি কাছে আসছি তাতে আমার এখানে একটি দৃষ্টিকোণ স্থানান্তর দরকার। যেহেতু দুটি শ্রেণি একটি Networkশ্রেণীর অবজেক্টের মাধ্যমে সংযুক্ত , তাই কি সাধারণ কোড / শ্রেণি সংস্থার সাথে যোগাযোগের তথ্য সম্পূর্ণরূপে Networkঅবজেক্ট দ্বারা নিয়ন্ত্রিত রাখা হয় (যাতে কোনও কণা বিষয়টিকে তার পরিচিতি সম্পর্কে সচেতন না হওয়া উচিত এবং ফলস্বরূপ, এটির getContacts()সদস্য না হওয়া উচিত) ফাংশন)। তারপরে, একটি নির্দিষ্ট কণার কী পরিচিতি রয়েছে তা জানতে, আমার সেই তথ্যটি Network(যেমন, ব্যবহার করে network.getContacts(Particle particle)) মাধ্যমে প্রাপ্ত করা দরকার ।
কোনও কণা অবজেক্টের জন্য সেই জ্ঞানটিও কম (সাধারণভাবে নিরুৎসাহিত) সি ++ বর্গ নকশার পাশাপাশি (যেমন, সেই তথ্যটি অ্যাক্সেস করার একাধিক উপায় থাকতে পারে - নেটওয়ার্ক অবজেক্ট বা পার্টিকাল অবজেক্টের মাধ্যমে, যে কোনওটিকে আরও সুবিধাজনক বলে মনে হয়) )?
Networkক্লাস অবজেক্টে Particleঅবজেক্ট এবং Contactঅবজেক্টস রাখেন তখন আমি সাধারণত (সম্ভবত পছন্দসই / উত্সাহিত) পদ্ধতির জন্য জিজ্ঞাসা করছি । এই বেস জ্ঞানের সাথে, আমি তখন আমার নির্দিষ্ট প্রয়োজনগুলির সাথে এটি খাপ খায় কিনা তা যাচাই করার চেষ্টা করতে পারি, যেগুলি এখনও প্রকল্পে যাওয়ার সময় অন্বেষণ / বিকাশাধীন।