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