রেল অন রেল নিদর্শন - সজ্জা বনাম উপস্থাপক


112

সাজসজ্জা এবং উপস্থাপকগণ সম্পর্কে রুবে অন ​​রেলস সম্প্রদায়টিতে ইদানীং সব ধরণের কথাবার্তা রয়েছে ।

দুজনের মধ্যে প্রয়োজনীয় পার্থক্য কী? যদি সেখানে থাকে তবে কী কী ক্লুগুলি আমাকে বলবে যে কোনটি অন্যটির উপরে ব্যবহার করতে হবে? অথবা সম্ভবত দুটি একসাথে ব্যবহার করতে?

উত্তর:


102

একটি সাজসজ্জাবিদ "এর এই সত্তায় কিছু কার্যকারিতা যুক্ত করুন" এর বেশি। উপস্থাপক হ'ল "আসুন মডেল / ব্যাকএন্ড এবং দেখার মধ্যে একটি সেতু তৈরি করুন" of উপস্থাপক প্যাটার্নটির বিভিন্ন ব্যাখ্যা রয়েছে।

সাজসজ্জারগুলি সাধারণ / সাধারণ উদ্দেশ্য। উপস্থাপকদের দায়িত্ব / ব্যবহারের স্বল্প পরিসীমা রয়েছে। সাজসজ্জারগুলি ডোমেনগুলি জুড়ে ব্যবহৃত হয়, উপস্থাপকরা প্রায়শই দেখার মতো কার্যকারিতার সাথে সম্পর্কিত।


3
ধন্যবাদ। মনে হয় ড্র্যাপার মণি উপস্থাপক এবং ডেকোরেটরের একটি সংকর।
কেরুইলিন

17
@keruilin একটি বিষয় মনে রাখবেন: সাজসজ্জারকারীদের অবশ্যই অন্যান্য সাজসজ্জা (পাশাপাশি উপাদান উপাদান সাজানোর জন্য) সাজাতে সক্ষম হওয়া উচিত, কারণ তাদের উদ্দেশ্যগুলির মধ্যে একটি হ'ল উত্তরাধিকারের সীমাবদ্ধতা অর্জন করা। (ড্রপার এটি করে না )। ডেকোরেটর প্যাটার্নটি সেই অর্থে সংমিশ্রিত প্যাটার্নের সাথে খুব মিল, অভ্যন্তরীণ-আউট পরিবর্তে বাইরে থেকে হ্যান্ডেল করা (যদি তা বোঝায় তবে)।
ছাপ

7
আমি একটি সাধারণ উদ্দেশ্য প্যাটার্ন হিসাবে একটি সজ্জাকারকে এবং ভিউ স্তরটির সাথে সম্পর্কিত সজ্জাকারীর একটি নির্দিষ্ট অ্যাপ্লিকেশন হিসাবে উপস্থাপককে দেখতে পাই।
ক্রিস

2
@ স্যামজড, ড্রপার সজ্জকাররা অন্যান্য সাজসজ্জাগুলি সাজাতে পারেন, অন্তত অন্তর্নিহিত মডেলগুলির একটি এসটিআই সম্পর্ক রয়েছে।
কেরুইলিন

দেখে মনে হচ্ছে যে ড্রপার নিজেকে উপস্থাপনা স্তর মোড়ক হিসাবে চিহ্নিত করে - সুতরাং এটি আর কোনও সাজসজ্জা নয়, প্রকৃতপক্ষে উপস্থাপক। তাদের জিএইচ থেকে: "ড্রপার আপনার রেল অ্যাপ্লিকেশনটিতে উপস্থাপনা যুক্তির একটি অবজেক্ট-ভিত্তিক স্তর যুক্ত করে।"
জেরেদ

35

আমি আপনাকে এটি পরীক্ষা করে দেখার পরামর্শ দিই - উপস্থাপনা বনাম উপস্থাপক

ডেকোরেটর হ'ল একটি নকশার প্যাটার্ন যা কোনও নির্দিষ্ট সামগ্রীর মোড়কের মাধ্যমে কার্যকারিতা বাড়াতে ব্যবহার করা হয় that অবজেক্টের অন্যান্য উদাহরণগুলিকে প্রভাবিত না করে। সাধারণভাবে, ডেকোরেটর প্যাটার্নটি মুক্ত / ঘনিষ্ঠ নীতিটির একটি উদাহরণ (ক্লাসটি পরিবর্তনের জন্য বন্ধ, তবে এক্সটেনশনের জন্য উপলব্ধ)।

উভয় প্রদর্শনী এবং উপস্থাপক নিদর্শন একরকম সজ্জা প্যাটার্ন।


মাইক প্যাক দ্বারা ব্লগ পোস্টে লিঙ্ক করার জন্য +1। নিখুঁত মধ্যে পার্থক্য ব্যাখ্যা করে যে দুর্দান্ত পোস্ট।
ki4jnq

প্রদর্শন প্যাটার্ন উল্লেখ করার জন্য +1। আমি অবদি গ্রিমের বইটি পেয়েছি যা এটি ব্যাখ্যা করে। যদিও, এটি আমার সমস্যার সঠিক সমাধান ছিল না এটি এখনও একটি আশ্চর্যজনক প্যাটার্ন। চিন্তার জন্য দুর্দান্ত খাবার।
ইয়ঙ্ক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.