আপনি একটি 3 ডি ইঞ্জিন তৈরি করছেন। আপনি সেরা মাল্টিপ্লাটফর্ম ওয়ার্ল্ড চান। হঠাৎ আপনি বুঝতে পারছেন যে আপনি যদি উইন্ডোজ মেশিনে ডাইরেক্ট 3 ডি এবং ওএসএক্স / লিনাক্সের ওপেনগিএল ব্যবহার করতে চান তবে আপনাকে কমপক্ষে সাধারণ বিভাজন উভয়ের সমর্থিত বৈশিষ্ট্যগুলি ত্যাগ করতে হবে।
কেউ কেউ তিনটি ওএস জুড়েই ওপেনজিএল ব্যবহার করতে পারেন, যেহেতু এটি নিজেরাই স্বল্পতম সাধারণ ডোনমিনেটর হিসাবে দেখা যায়। সব ভাল. তারপরে, আপনাকে আপনার গ্রাফিক্স এপিআই ব্যাকএন্ডটি নিন্টেন্ডোর জিএক্স-তে পোর্ট করতে হবে, আপনাকে একটি PS3 এবং Xbox360 পাথও করতে হবে।
আপনি কি করেন? আপনি কি নিজের নিজস্ব এপিআই ডিজাইন করেন যা নিজেই সর্বনিম্ন সাধারণ ডিনোমিনেটর এবং প্রতিটি প্ল্যাটফর্মের জন্য এটির জন্য ব্যাকএন্ড বাস্তবায়ন লেখেন বা প্রতিটি প্ল্যাটফর্মের জন্য এটি নিজস্ব শাখা লেখেন?
আপনি যদি নিজের নিজস্ব এপিআই ডিজাইন করতে চান, আপনি কি ব্রিজ প্যাটার্ন বা নিজের ভুডো ব্যবহার করেন? পাগলামি কোথায় থামবে যেখানে আপনি সবকিছু বুঝতে এবং রান্নাঘরের সিঙ্ক পদ্ধতির অবশ্যই থামতে হবে এবং আপনার কাছে প্রতিটি প্ল্যাটফর্মের জন্য একটি শাখা হিসাবে মূলত পৃথক ইঞ্জিন রয়েছে। অথবা আপনি সমস্ত কিছু এবং রান্নাঘরের ডোবায় আটকে থাকেন এবং প্রতিটি প্ল্যাটফর্মের জন্য ব্যাকএন্ড মডিউল বিশেষায়নের ক্ষেত্রে প্ল্যাটফর্মের বিশদটি রাখেন।