আমি কি এমন এক দেশ শ্রেণি তৈরি করব যাতে বেশ কয়েকটি শহর থাকে?
অবশ্যই।
শহরে কি অনেকগুলি বিল্ডিং ক্লাস থাকে, বেশিরভাগ লোকের ক্লাস থাকে?
অবশ্যই।
আমি কি এমন কোনও পথ অনুসন্ধান ক্লাস তৈরি করি যা খেলোয়াড়ের কাছাকাছি যেতে পারে?
অবশ্যই।
আপনি উপরে প্রস্তাবিত সমস্ত কিছু যুক্তিসঙ্গত বলে মনে হচ্ছে। এটি দীর্ঘকালীন আপনার পক্ষে সবচেয়ে ভাল উপায় নাও হতে পারে তবে এটি ঠিক আছে। এটি আপনার কাছে সাংগঠনিক মডেল যেহেতু প্রথম আপনার কাছে এসেছিল তা স্পষ্টতই আপনার জ্ঞান লাভ করে। আপনি এটি নেওয়া এবং এটি থেকে একটি বাস্তবায়ন শুরু করা গুরুত্বপূর্ণ। এটি উভয়ই আপনাকে শুরু করবে, প্রাথমিক কাজের "ডিজাইনের পক্ষাঘাত" যা আপনাকে প্রায়শই কোনও কাজের শুরুতে বিকাশকারীদের জর্জরিত করে এবং (যদি এটি কোনওভাবেই ত্রুটিযুক্ত প্রমাণিত হয়) তখন আপনাকে দু'পক্ষের পক্ষে বা কৌশল সম্পর্কে একটি বা দুটি বিষয় শেখায় ডিজাইনের যে বিশেষ পদ্ধতির।
আপনি সাধারণভাবে ধারণাগুলি আপনার মাথায় নিয়ে গেছেন এবং কিছু সাধারণ নিয়ম অনুসারে এগুলি কোডে গোষ্ঠীভুক্ত করেছেন:
- এই ধারণাটি আচরণে বা আমার কাছে ইতিমধ্যে থাকা অন্যান্য অবজেক্টের ডেটাতে উল্লেখযোগ্যভাবে পৃথক হয়? (দেশ এবং লোকেরা খুব কম ভাগ করে, যদি কোনও হয়, অর্থবহ ডেটা বা আচরণ করে, তাই তাদের খেলাতে স্বতন্ত্র ধরণের দ্বারা প্রতিনিধিত্ব করা উচিত)।
- আমি কি কোডেও এই ধারণাটি একটি গুরুত্বপূর্ণ ফ্যাশনে হেরফের করতে পারি (যদি আপনার গেমটি স্বতন্ত্র লোকের সাথে ডিল করে তবে আপনার সেই
Person
শ্রেণীর প্রয়োজন হতে পারে , তবে যদি গেমটি কেবল সিমসিটির পূর্ববর্তী সংস্করণগুলির মতো সামগ্রিকভাবে তাদের সম্পর্কে চিন্তা করে তবে আপনি কোনও শহরের জনসংখ্যার 1: 1 ম্যাপিং তৈরি করতে সেই ধরণের বা সেই ধরণের উদাহরণের প্রয়োজন int populationCount
হতে পারে না enough যথেষ্ট হতে পারে)।
- এই ধারণার কি রাষ্ট্রের প্রয়োজন ? যদি তা হয় তবে এটি কোনওভাবে এনপ্যাপসুলেটেড হওয়া উচিত যা আমাকে এই ফাংশনটি (এক শ্রেণি) ফ্রি ফাংশনগুলির পরিবর্তে সঞ্চয় করতে দেয়। (একটি পাথফাইন্ডিং বাস্তবায়নের সাথে অ্যানালাসিক রিয়েল-ওয়ার্ল্ড অবজেক্ট নেই, তবে এর জন্য মানচিত্রে কোন নোডগুলি ইতিমধ্যে বিবেচনা করা হয়েছে এমন ডেটা রাখার প্রয়োজন হয় এবং এটি একটি গুচ্ছের মধ্যে সংরক্ষণের চেয়ে ক্লাসের মাধ্যমে আরও ভাল করা যায়) লুকানো গ্লোবাল এবং ফ্রিস্ট্যান্ডিং ফাংশন তৈরি)।
সহজ হলেও, এই প্রশ্নগুলির উত্তর দেওয়া আপনার যখন একটি মানসিক ধারণাটি উত্স কোডে রূপান্তর করতে পারে এবং কীভাবে সিদ্ধান্ত নেওয়ার চেষ্টা করে তখন আপনাকে একটি দুর্দান্ত উপকার করতে পারে। আপনি অবজেক্ট-ওরিয়েন্টেড ডিজাইনের সলাইড নীতিগুলিও পড়তে চাইতে পারেন ।
নোট করুন যে মন্তব্যে করা কোনও সত্তা / উপাদান সিস্টেমের পরামর্শটিও একটি বৈধ পন্থা, যদিও আমি আপনার প্রকল্পটি ছোট হওয়ার পুনরায় সুযোগ না দিলে এটিকে এখানে রোধ করবো (কেবলমাত্র একটি প্রকল্পে দুটি নতুন, বৃহত্তর চ্যালেঞ্জ গ্রহণ করতে পারে) খুব বিরক্তিকর হোন এবং কেবলমাত্র একটির উপর দৃষ্টি নিবদ্ধ করা থেকে আপনি যে শিক্ষাগত সুবিধা পাবেন তা হ্রাস করতে পারে)। একটি উপাদান-ভিত্তিক মডেলটিতে, উপরের প্রশ্নগুলিতে "টাইপ" আরও অন্তর্নিহিত হয়ে ওঠে: কোডটিতে কংক্রিটের ধরণ নয়, তবে সত্তা গঠনের উপাদানগুলির সংকলন দ্বারা সংজ্ঞায়িত অন্তর্নিহিত প্রকার। একই গাইডিং নীতিগুলি প্রয়োগ করতে পারে।