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