আমার সি ++ প্রকল্পে আমার দুটি ক্লাস রয়েছে 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
অবজেক্টস রাখেন তখন আমি সাধারণত (সম্ভবত পছন্দসই / উত্সাহিত) পদ্ধতির জন্য জিজ্ঞাসা করছি । এই বেস জ্ঞানের সাথে, আমি তখন আমার নির্দিষ্ট প্রয়োজনগুলির সাথে এটি খাপ খায় কিনা তা যাচাই করার চেষ্টা করতে পারি, যেগুলি এখনও প্রকল্পে যাওয়ার সময় অন্বেষণ / বিকাশাধীন।