এমভিসি কি কেবল ওয়েবে প্রয়োগ হয়?


14

এটি প্রায় এবং তাত্ক্ষণিক হয় যখনই আমি বিকাশকারীদের সাথে মডেল ভিউ কন্ট্রোলার ( এমভিসি ) সম্পর্কে কথা বলি তারা বলে যে আপনি একটি ইউআরএলকে অনুরোধ করেন সার্ভার একটি সত্তা (মডেল) তৈরি করে এবং আপনাকে সেই মডেলের ভিজ্যুয়াল উপস্থাপনা সরবরাহ করে with

  • সুতরাং এর অর্থ কি এমভিসি কেবল ওয়েবের জন্য নয় বা আমি কেবল এমন ডেভেলপারদের সাথে দেখা করেছি যারা ওয়েব অ্যাপ্লিকেশন লেখার জন্য এমভিসি নিয়োগ করে?

  • ডেস্কটপ স্টাইল অ্যাপ্লিকেশনগুলিতে এমভিসির ব্যবহার রয়েছে?

  • আমি একের জন্য দৃষ্টান্তে নতুন এবং এমভিসির যে কোনও সুপার-সেট সম্পর্কে জানতে চাই


1
আপনি কি 'এমভিসি' এর জন্য প্রোগ্রামারস.এসই বা স্ট্যাক ওভারফ্লো ট্যাগ উইকিগুলি পরীক্ষা করেছেন?
gnat

3
@ জাগ্রত হ্যাঁ আমি করেছি
ডিপটেকটন

6
ঠিক আছে তাহলে আপনি সম্ভবত ইতিমধ্যে জানেন আপনার প্রশ্নের উত্তর আপনি না?
gnat

4
@ গুরুত্ব সহকারে না, আমি এমভিসির কাছে সম্পূর্ণ নতুন (যেমন বলা হয়েছে) এবং এমভিসি উইন্ডোজ অ্যাপ্লিকেশনগুলিতে প্রয়োগ করা হচ্ছে বা ডাউনলোডের পৃষ্ঠায় এমভিসি ব্যাজকে খেলাধুলা করে এমন একটি অ্যাপ্লিকেশন ব্যবহার করে নি বা কখনও শুনিনি (কিছু কান পেলাম)। দুঃখিত যদি প্রশ্নটি মূর্খ ছিল তবে আমার জন্য এটি ধাঁধাটি তৈরি করে
ডিপটেকটন্স

উত্তর:


22

এমভিসি একটি নিদর্শন is সমস্ত প্রোগ্রামিং জুড়ে প্যাটার্নগুলি প্রয়োগ হয়। এমভিসি ঠিক একটি ওয়েব প্রসঙ্গে খুব ভাল কাজ করতে ঘটে।

যেমন gnat পয়েন্ট আউট কেবল এমভিসি ট্যাগ দেখুন এবং আপনি এটি প্রয়োগ করা হচ্ছে একাধিক উদাহরণ দেখতে পাবেন।


5
এটি কী। এমভিসি ওয়েব অ্যাপ্লিকেশনগুলিতে সত্যই ভাল কাজ করে এবং আধুনিক এমভিসি-ভিত্তিক ফ্রেমওয়ার্কগুলি (যেমন রেলস, জ্যাঙ্গো এবং এএসপি.নেট এমভিসি) এত জনপ্রিয় যে কারণগুলির একটি বড় অংশ। এটি অন্যান্য প্রসঙ্গে (ডেস্কটপ অ্যাপ্লিকেশনগুলির) মতোও কাজ করে তবে দেখতে ও নিয়ন্ত্রকের পরিষ্কার বিচ্ছিন্ন রাখা আরও শক্ত, সুতরাং যে রূপগুলি মডেল-প্রতিনিধি (সুইং দ্বারা ব্যবহৃত) এর মতো ভিউ-কন্ট্রোলার বিভাজন সরিয়ে দেয় বা যেখানে বিভাজন ঘটে সেখানে পরিবর্তিত হয় মডেল-ভিউ-ভিউমোডেলের মতো (বেশিরভাগ। নেট ডাব্লুপিএফ অ্যাপ্লিকেশন ব্যবহৃত হয়) ডেস্কটপ অ্যাপ্লিকেশনগুলিতে বেশি সাধারণ।
কেভিন ক্যাথকার্ট

যদি আপনি একটি নিয়ামক কী করেন তার মূল স্মার্টটাক বর্ণনার দিকে নজর রাখেন - মডেলটির বার্তাগুলিতে ব্যবহারকারী ইনপুটটি অনুবাদ করুন - উইন্ডোজ নিজেই মূলত একটি বড় নিয়ামক; এজন্য প্যাটার্ন হিসাবে এমভিসি উইন্ডোজ ইউআই অ্যাপ্লিকেশনগুলির সাথে খুব ভাল জাল করে না। এটি উইন্ডোজবিহীন সিস্টেমগুলির জন্য ইউআই ফ্রেমওয়ার্কগুলিতে অনেক বেশি ব্যবহৃত হয়েছিল।
কুতুলু মাইক 25'12

পুনঃটুইট আপনি এমভিসি এবং উইনফর্মগুলি একসাথে করতে পারেন, যদিও এমভিপি সেখানে বেশি জনপ্রিয়, তবে এমভিপি যাইহোক এমভিসির একটি বৈকল্পিক।
অ্যান্ডি

45

এমভিসি 1977 সালের, এবং ওয়েবটি কেবল 1991 সালে উদ্ভাবিত হয়েছিল তা বিবেচনা করে, এটি অত্যন্ত স্পষ্ট হওয়া উচিত যে এমভিসি কেবল ওয়েবের জন্য নয়


30
এটি উত্তরের একটি দুর্দান্ত শুরু, তবে মুখে তেতো স্বাদ রয়েছে।
নিকোলাস সি।

2
সঠিক এবং জঘন্য। দুর্দান্ত জিনিস!
টম হাটিন -

1
"1982 সালে ইন্টারনেট প্রোটোকল স্যুট (টিসিপি / আইপি) প্রমিত করা হয়েছিল এবং ইন্টারনেট নামক সম্পূর্ণ আন্তঃসংযুক্ত টিসিপি / আইপি নেটওয়ার্কের একটি বিশ্বব্যাপী নেটওয়ার্কের ধারণা চালু করা হয়েছিল।" উইকি । যদি আপনি নেটস্কেপ বোঝাতে চান, তবে ঠিক আছে ... তবে "ওয়েব" এর আগে বিদ্যমান ছিল।
jmq

4
@jmquigley "ইন্টারনেট" এবং "ওয়েব" দুটি ভিন্ন জিনিস।
এরিক কিং

1
@ জেএমকিউ ১৯ 1977 যদিও ১৯৮২ সালের আগে এখনও চলবে, এবং অন্য কেউ ওয়েবকে নির্দেশ করেছেন! = ইন্টারনেট। ওয়েব সত্যিই 1991 সামনে উপস্থিত করেনি
অ্যান্ডি

9

না, ওএস এক্স এবং আইওএসের বিকাশ মডেল ভিউ নিয়ন্ত্রণকারী প্যাটার্ন ব্যবহার করে uses


2
অবশেষে, মন্তব্যটি ছাড়াই প্রথম এবং দ্বিতীয় পয়েন্টগুলির একটি উত্তর।
জেফো

8

একটি মাইক্রোসফ্ট পরিবেশে প্রশ্ন জিজ্ঞাসা করুন এবং অনেক লোক আপনাকে ধরে নেবে Asp.Net MVC বলতে যা ওয়েবে বিশেষত একটি এমভিসি বাস্তবায়ন।

দুর্ভাগ্যক্রমে এমন অনেক লোক আছেন যারা বুঝতে পারেন না যে এটি এমভিসি প্যাটার্নের একটি বাস্তবায়ন এবং তারা মনে করে যে তারা বিনিময়যোগ্য পদ, যা "কেবলমাত্র ওয়েব" অনুমানের দিকে নিয়ে যায়।


3
একটি পদ্ধতির পরে প্ল্যাটফর্মের নামকরণের ক্ষেত্রে +1 এ সমস্যা। লোকেরা যখন প্ল্যাটফর্মের সাথে পরিচয় হয় প্রথমে তারা পার্থক্যটি দেখতে ব্যর্থ হয়।
ম্যাটডি ডেভি

এই @Ozz ব্যাখ্যা কেন অন্যান্য বিকাশকারীদের সবসময় ওয়েব সম্পর্কে বলার ব্যবহার করলে MVC বিষয় করেনি
Deeptechtons

1
মাইক্রোসফ্ট বিকাশকারীদের বোকা হিসাবে চিত্র আঁকা বন্ধ করুন, ধন্যবাদ।
অ্যান্ডি

@ অ্যান্ডি - এটি এমএস বিকাশকারীকে বাশ দেওয়া ছিল না, আমি নিজেই একজন এস.পি নেট এমভিসি বিকাশকারী এবং আমি আসল উত্তরে দাঁড়িয়ে আছি। আমি "সমস্ত" লোক বা "সমস্ত" বলিনি net নেট বিকাশকারী, কেবলমাত্র এমন একটি অনুমান বা ভুল যা আমি অনেক লোককে দেখেছি of ধন্যবাদ।
ওজ

2

কমপক্ষে আমি যতদূর জানি, এমভিসির প্রথম বাস্তবায়ন ছিল ছোট্ট টাল্কে। এটি অবশ্যই স্মলটালক -80 এ উপস্থিত ছিল present যদিও এটি প্রমাণ করার মতো কোনও ডকুমেন্টেশন আমার হাতে নেই তবে আমি বিশ্বাস করি যে এটি (বা যাইহোক বেশ কিছু অনুরূপ কিছু) ততক্ষণে কয়েক বছর ধরে স্মলটাল্কে ছিল।

বেশিরভাগ ওও জিইউআই ফ্রেমওয়ার্কগুলিতে এমভিসির কমপক্ষে কিছু বৈকল্পিক অন্তর্ভুক্ত রয়েছে। আমি নিশ্চিত না, তবে এই ক্ষেত্রে "সুপারসেট" এর অর্থ কী হবে। কোনও প্রদত্ত রূপটি সুপারসেট, সাবসেট, বা এমভিসির সহকর্মী কিনা তা বলা একটু কঠিন, তবে আমি তাদের বেশিরভাগ সমবয়সী হিসাবে বিবেচনা করব।

যাইহোক, এর মধ্যে অনেকগুলি (বেশিরভাগ?) ওয়েব ডেভলপমেন্টের জন্য নয়, ডেস্কটপ বিকাশের জন্য ব্যবহৃত হয়েছে। কিছু পুরানো এটিএন্ডটি পেটেন্টসকে ধন্যবাদ, বেশিরভাগ উইন্ডোটিং সিস্টেমগুলিতে চাহিদার উপর দৃষ্টিভঙ্গি পুনরায় তৈরি করতে সক্ষম হওয়া প্রোগ্রামগুলির প্রয়োজন। এটি (প্রায়) বর্তমান অবস্থা (মডেল) বজায় রাখে এমন কোডের মধ্যে কমপক্ষে কিছুটা ডিগ্রী জোর করে এবং সেই রাজ্যটি (দর্শন) প্রদর্শন করে। এটি এখনও 1 এর পরিবর্তনের জন্য প্রচুর জায়গা ছেড়ে দেয়) কন্ট্রোলার কার্যকারিতা যে ডিগ্রিতে বিচ্ছিন্ন হয় এবং 2) প্রতিটি বড় টুকরোটির মধ্যে লাইন কোথায় আঁকতে হয় তার সঠিক বিশদ।


1

না, এটি এমনকি স্ট্যান্ডেলোন অ্যাপ্লিকেশনগুলির জন্য প্রযোজ্য। উদাহরণস্বরূপ জাভা সুইং এমভিসি অনুসরণ করে।


1
ডাউনটাউটে কেন মানুষকে বাঁচতে দিন!
ডিপটেকটনস

1

সুতরাং এই এলাকায় বিভিন্ন নকশা নিদর্শন আছে।

  • মডেল ভিউ উপস্থাপক (এমভিপি)
  • মডেল ভিউ উপস্থাপক (এমভিভিপি)
  • মডেল ভিউ কন্ট্রোলার
  • মডেল 2

ইত্যাদি। বছরের পর বছর ধরে এগুলি জড়িত হয়েছে, একসাথে ছড়িয়ে পড়েছে, পরিবর্তিত হয়েছে এবং বিভিন্ন প্রসঙ্গে প্রযোজ্য। এখানে গুরুত্বপূর্ণ বিষয়টি হ'ল 1977 সালের এমভিসি ডিজাইনের প্যাটার্নটি অনেকটা পরিবর্তিত হয়েছে, এবং সার্ভারসাইড ওয়েব ফ্রেমওয়ার্কগুলির দ্বারা ব্যবহৃত ডিজাইনের প্যাটার্নটি আর নেই। মূল স্মার্টটাক বাস্তবায়নের উদাহরণ হিসাবে মডেল পরিবর্তনের জন্য দৃষ্টিভঙ্গিটি পর্যবেক্ষণ করবে, যা সার্ভারসাইডটি কেবল ব্যবহারকারী ব্রাউজারে এইচটিএমএল উপাদানগুলি পর্যবেক্ষণ করতে পারে না। পরিবর্তে যদি ভিউ পরিবর্তন হয় তবে দৃশ্যটি নিয়ামকের কাছে একটি অনুরোধ প্রেরণ করবে যা তারপরে ভিউটি আপডেট করবে। আবার মূল এমভিসি বাস্তবায়ন অনুসরণ করা হয় না, কারণ মডেলটির আপডেট হিসাবে বোঝানো হয় যে মডেলের উপর নির্ভরশীল সমস্ত মতামত আপডেট করা হবে।

আধুনিক ওয়েব ফ্রেমওয়ার্কগুলি একটি সাধারণ তিন স্তরের স্থাপত্য অনুসরণ করে যা মডেল 2 আর্কিটেকচার হিসাবেও পরিচিত।

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

আপনার যদি ব্রাউজারে এমভিসি থাকে, সার্ভারে এমভিসি এবং ডেভিটার লেয়ারের মতো এমভিসি থাকে তবে আপনার একটি শ্রেণিবদ্ধ এমভিসি বাস্তবায়ন রয়েছে implementation

বিঃদ্রঃ. আমি কেবল ওয়েব ফ্রেমওয়ার্কের কথা বলেছি, এমভিসির অন্যান্য বাস্তবায়ন যেমন জাভা সুইং এবং ফ্লেক্সের অন্যান্য প্রয়োগের পার্থক্য রয়েছে।


লোকেরা কেন অন্যকে ভোট দেয়, অবশ্যই তা বোঝায় না, যদি কিছু ভুল হয় তবে দয়া করে তাদের বলুন এবং তাদের দৃষ্টিভঙ্গি সংশোধন করার সুযোগ দিন। এই বিষয়ে তাদের যদি জ্ঞান না থাকে তবে একজন ভাল শিক্ষক তাদের সঠিক উত্সের দিকে পরিচালিত করবেন যতক্ষণ না তিনি এটি সঠিকভাবে না শিখেন ততক্ষণ তাকে পিটিয়ে ফেলবেন না !!
ডিপটেকটন্স

প্রশ্নটি ধরে নেওয়া হয়েছে যে এমভিসি এবং ওয়েব
নকল

1

আপনার অবশ্যই একটি জিনিস অবশ্যই জানতে হবে যে এমভিসি বাস্তবায়নের দাবি করে এমন ফ্রেমওয়ার্ক রয়েছে যতগুলি এমভিসি রয়েছে as

মডেল কিছু রাজ্য ধারণ করে এবং ভিউ এটির প্রতিস্থাপন করে এ বিষয়ে বেশিরভাগ একমত। তবে কন্ট্রোলারের খুব আলাদা ভূমিকা আছে।

স্মার্টটাল্কে, যেখানে এটি প্রথম বর্ণিত হয়েছিল, মডেলটি হ'ল আপনার অ্যাপ্লিকেশন, ডেটা এবং ব্যবসায়ের পদ্ধতির মূল। ভিউটি অ্যাপ্লিকেশনের স্টেটের (গ্রাফিক মডেল) গ্রাফিকাল উপস্থাপনা এবং কন্ট্রোলার ব্যবহারকারীর ইনপুট, মাউস এবং কীবোর্ড ইভেন্ট পরিচালনা করে। কন্ট্রোলার, উদাহরণস্বরূপ, ফোকাস থাকা ভিউ এলিমেন্টে কীবোর্ড ইভেন্টগুলিকে রুট করে।

.Jsp পৃষ্ঠাগুলিতে, মডেলটি বেশিরভাগই ডেটা হয়, ভিউ সেই মডেলটিকে এইচটিএমএলকে রেন্ডার করে এবং কন্ট্রোলার মডেলটিকে রেন্ডার করার জন্য উপযুক্ত ভিউতে রাউটিং করে।

সুতরাং, আপনার প্রশ্নের উত্তর দেওয়ার জন্য, যদিও এমভিসি স্ট্যান্ডেলোন অ্যাপ্লিকেশনগুলিতে (জাভা,। নেট, ফ্লেক্স) এবং ওয়েবে (জেএসপি পৃষ্ঠাগুলি) উভয়ই ব্যবহৃত হয়, এটি একটি খুব আলাদা জিনিস। তার মানে আপনি যে এমভিসি জানেন সেটি স্ট্যান্ডেলোন অ্যাপ্লিকেশনগুলিতে ব্যবহৃত হয় না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.