তাই আমি ভাবছিলাম যে আমার ক্লাসগুলি কীভাবে অনেক সময় পান একঘেয়েমি। উদাহরণস্বরূপ, Character
ক্লাসের Jump
পদ্ধতিতে, কারও কাছে সাউন্ড এফেক্ট অবজেক্টের উল্লেখ থাকতে পারে এবং এটি খেলতে পারে। নিজে থেকে এটি ঠিক আছে তবে পদার্থবিজ্ঞান, অ্যানিমেশন, সংঘর্ষ ইত্যাদি বিবেচনায় নেওয়া হলে জাম্প পদ্ধতিটি বিশাল Character
আকার ধারণ করে এবং শ্রেণীর অনেকগুলি বিভিন্ন বিষয়ের উপর অনেক নির্ভরতা থাকে। তবুও, এটা ঠিক হতে পারে। তবে, চরিত্রটি লাফিয়ে উঠলে আমরা কী আর শব্দ বাজতে চাই না? এখন, আমাদের কোডটির বিশৃঙ্খলাবস্থায় সেই নির্দিষ্ট কোডের লাইনটি খুঁজে Jump
বের করতে হবে এবং এটিকে মন্তব্য করতে হবে বা যাই হোক না কেন।
তাই .. আমি ভাবছিলাম ..
তার পরিবর্তে, এখানে কিছু AudioSystem
শ্রেণি ছিল এবং এটি যা করেছে তা অন্য শ্রেণীর সাথে আগ্রহী এলোমেলো ইভেন্টগুলিতে সাবস্ক্রাইব হয়েছিল। উদাহরণস্বরূপ, ক্লাসটির Character
কোনও Jumped
ইভেন্ট থাকতে পারে (স্থির এছাড়াও, আমি মনে করি) যা Character
পদ্ধতিতে শ্রেণীর মধ্যে উত্থাপিত হয়েছিল । তারপরে, Character
শ্রেণিটি অক্ষরটি ঝাঁপিয়ে পড়লে যে ছোট্ট সাউন্ড এফেক্টটি বাজানো হয় সে সম্পর্কে কিছুই জানত না। AudioSystem
শুধু একটি বিশাল বর্গ যে প্রোগ্রামার নির্দিষ্ট ঘটনা স্ট্যাটিক ঘটনা ব্যবহারের মাধ্যমে খেলা ঘটতে সঙ্গে সাউন্ড ইফেক্ট হুক আপ নিকট আশ্রয় ভূমিকা পালন করেনি। তারপর, যদি এটা খুব বড় পেয়েছিলাম এটা পছন্দ উপশ্রেণী করার জন্য পৃথক করা যেতে পারে EffectsAudioSystem
, BackgroundAudioSystem
, AmbientAudioSystem
, ইত্যাদি ইত্যাদি।
তারপরে, গেমটির বিকল্পগুলির মধ্যে, এই ধরণের শব্দগুলি সক্ষম বা অক্ষম করার জন্য একজনের কাছে একটি চেকবক্স থাকতে পারে এবং কেবলমাত্র একটি সাধারণ এবং একক বুলিয়ান পতাকা সহ সেই সিস্টেমটিকে অক্ষম করা। সিস্টেমগুলির এই ধারণাটি পদার্থবিজ্ঞান, অ্যানিমেশন ইত্যাদির মতো জিনিসগুলিতেও প্রসারিত হতে পারে যেখানে প্লেয়ারের ক্রিয়াগুলির ফলে প্রাপ্ত বেশিরভাগ গেমের প্রতিক্রিয়াগুলি এই বিস্তৃত এবং ডিকোপল্ড সিস্টেমগুলির মাধ্যমে সংযুক্ত থাকে।
ঠিক আছে, সুতরাং আমার প্রশ্নটি কিছুটা অস্পষ্ট হতে পারে তবে এই ধরণের জিনিসটি কেমন শোনাচ্ছে? সিস্টেমের এই ধরণের সম্পর্কে আমি সত্যিই কখনও ধরণের কথা শুনিনি। এখন পর্যন্ত কোনও কোডিং ছাড়াই এই মুহূর্তে আমার মাথায় রয়েছে সম্ভবত এটি "তত্ত্বের ক্ষেত্রে ভাল তবে বাস্তবে নয়" ধরণের ডিল। এই ধরণের সিস্টেমটি কি আরও বড় গেমের সাথে কাজ করবে বা অবশেষে এটি ভেঙে আসল সিস্টেমের চেয়ে স্প্যাগেটি জগাখিচুড়ি হয়ে উঠবে?