একদল বন্ধু এবং আমি গত কিছুদিন ধরে একটি প্রকল্পে কাজ করে যাচ্ছিলাম এবং আমরা আমাদের পণ্যের সাথে সম্পর্কিত দৃশ্যের প্রতিনিধিত্ব করার একটি দুর্দান্ত ওওপি উপায় আবিষ্কার করতে চেয়েছিলাম। মূলত, আমরা একটি Touhou- শৈলী বুলেট জাহান্নাম গেম উপর কাজ করছি , এবং আমরা একটি সিস্টেম তৈরি করতে চেয়েছিলাম যেখানে আমরা সহজেই বুলেটের যে কোনও সম্ভাব্য আচরণ উপস্থাপন করতে পারি যেখানে আমরা স্বপ্ন দেখতে পারি।
সুতরাং আমরা ঠিক তাই করেছি; আমরা একটি সত্যই মার্জিত আর্কিটেকচার তৈরি করেছিলাম যা আমাদেরকে বুলেটের আচরণগুলি বিভিন্ন উপাদানগুলিতে ভাগ করতে দেয় যা ইচ্ছামতো বুলেটের উদাহরণগুলির সাথে সংযুক্ত হতে পারে, যেমন Unক্যের উপাদান উপাদান হিসাবে system এটি খুব সুন্দরভাবে কাজ করেছে, এটি সহজেই বর্ধনযোগ্য ছিল, এটি নমনীয় ছিল এবং আমাদের সমস্ত ঘাঁটি coveredাকা ছিল, তবে একটি সামান্য সমস্যা ছিল।
আমাদের অ্যাপ্লিকেশনটিতে প্রচুর পরিমাণে প্রক্রিয়াজাত জেনারেশন জড়িত, যথা আমরা প্রক্রিয়াগতভাবে বুলেটগুলির আচরণ তৈরি করি। কেন এটি একটি সমস্যা? ঠিক আছে, বুলেট আচরণের প্রতিনিধিত্ব করার জন্য আমাদের ওওপি সমাধানটি মার্জিত হলেও, কোনও মানুষ ছাড়া কাজ করা কিছুটা জটিল is যৌক্তিক এবং চতুর উভয়ই সমস্যার সমাধান সম্পর্কে চিন্তা করার জন্য মানুষ যথেষ্ট স্মার্ট। পদ্ধতিগত প্রজন্মের অ্যালগরিদমগুলি এখনও এটি স্মার্ট নয় এবং এমন একটি এআই বাস্তবায়ন করা আমাদের পক্ষে কঠিন হয়ে পড়েছে যা আমাদের OOP আর্কিটেকচারকে তার সম্পূর্ণ সম্ভাবনার জন্য ব্যবহার করে। স্বীকার করা যায়, এটি স্থাপত্যের একটি ত্রুটি এটি হ'ল এটি সমস্ত পরিস্থিতিতে স্বজ্ঞাত নয়।
সুতরাং এই সমস্যার প্রতিকারের জন্য, আমরা মূলত বুলেট শ্রেণীর মধ্যে বিভিন্ন উপাদান দ্বারা প্রদত্ত সমস্ত আচরণকে সরিয়ে দিয়েছি, যাতে আমরা যা কল্পনা করতে পারি সেগুলি প্রতিটি বুলেট ইভেন্টে সরাসরি অন্য সম্পর্কিত উপাদানগুলির উদাহরণগুলির বিপরীতে দেওয়া হয়। এটি আমাদের পদ্ধতিগত প্রজন্মের সাথে কাজ করা অ্যালগরিদমকে আরও সহজ করে তোলে তবে এখন আমাদের বুলেট শ্রেণি একটি বিশাল godশ্বরের অবজেক্ট । এটি যে কোনও কিছুর চেয়ে পাঁচগুণ বেশি কোড সহ সহজেই প্রোগ্রামের বৃহত্তম ক্লাস। পাশাপাশি বজায় রাখতেও এটি কিছুটা ব্যথা।
অন্য শ্রেণীর সমস্যা নিয়ে কাজ করা আরও সহজ করার জন্য আমাদের ক্লাসগুলির মধ্যে একটি godশ্বর বস্তুতে পরিণত হয়েছে তা কি ঠিক আছে? সাধারণভাবে, কোডটি যদি কোনও ভিন্ন সমস্যার সহজ সমাধান স্বীকার করে তবে আপনার কোডে কোড গন্ধ পাওয়া ঠিক আছে কি?