এমভিভিএম এবং এমভিপি মধ্যে পার্থক্য

Anonim

সফ্টওয়্যার উন্নয়ন উদ্দেশ্য ব্যবহারকারীদের এবং ব্যবসার জন্য ঠিকানা এবং প্রয়োজন ঠিকানা ঠিকানা সমাধান নির্মাণ করা হয়। এই অর্জন, বিভিন্ন প্রযুক্তি এবং স্থাপত্য নিদর্শন যেমন মডেল-ভিউ-মোডেল (এমভিভিএম) এবং মডেল-ভিউ-উপস্থাপক (এমভিপি) ব্যবহার করা হয়।

তৈরি করা হয় এমন কিছু নিয়ে, প্রথম ধাপ হলো পরিকল্পনা এবং নকশা মঞ্চ। সফ্টওয়্যার নকশা প্রক্রিয়া পছন্দসই প্রযুক্তি টুল-সেট উপর ভিত্তি করে একটি স্পেসিফিকেশন হতে পারে, এবং এটি গর্ভাবস্থার থেকে সমস্ত কার্যকলাপ পরিবেষ্টন করতে পারেন - থেকে - পরিকল্পনা - থেকে - বাস্তবায়ন - থেকে - আপডেট এবং পরিবর্তন

এটি নিম্ন-স্তরের এবং উচ্চ স্তরের স্থাপত্য নকশাকে নির্বাচিত স্থাপত্য নকশা নিদর্শনগুলির উপর ভিত্তি করে এবং নকশার নিদর্শনগুলি ব্যবহার করে পুনর্ব্যবহারযোগ্য সমাধানগুলি ম্যাপ করে।

সফ্টওয়্যার অ্যাপ্লিকেশন কাঠামো

সফ্টওয়্যার আর্কিটেকচার একটি অ্যাপ্লিকেশন এর গঠন সংজ্ঞায়িত করে যা প্রযুক্তিগত, কার্যক্ষম এবং ব্যবহারকারী প্রয়োজনীয়তা পূরণ করে এবং এই কোডটি সংগঠিত ও পরিচালিত করে।

একটি সফটওয়্যার অ্যাপ্লিকেশন এর আর্কিটেকচারের সিদ্ধান্তটি গুরুত্বপূর্ণ কারণ এটি ইতিমধ্যেই একটি অ্যাপ্লিকেশনের একটি সহজ, পরিবর্তনযোগ্য অংশ নয়; অতএব কোন প্রোগ্রামিং শুরু আগে স্থাপত্য প্যাটার্ন সিদ্ধান্ত নেওয়া আবশ্যক।

--২ ->

স্থাপত্য নকশার নকশা নিদর্শন থেকে কিছুটা আলাদা হয় কারণ তাদের কর্মক্ষমতা আরও বেশি প্রযুক্তিগত সমস্যা যেমন হার্ডওয়্যার পারফরম্যান্স এবং সীমাবদ্ধতা এবং উচ্চ প্রাপ্যতা সম্বলিত বিস্তৃত। বিভিন্ন স্থাপত্য নিদর্শন উদাহরণ MVC, MVVM, এবং এমভিপি।

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

স্থাপত্য প্যাটার্নস

মডেল ভিউ কন্ট্রোলার (এমভিসি) ওয়েব অ্যাপ্লিকেশনের জন্য তৈরি করা প্রথম স্থাপত্য নকশার মধ্যে একটি, বিশেষ করে জাভা সম্প্রদায়ের সাথে মধ্যবিত্ত থেকে দেরী পর্যন্ত জনপ্রিয়তা লাভ করে।

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

ঐতিহ্যগতভাবে, ইউজার ইন্টারফেসের বিকাশে জটিল লজিকাল হ্যান্ডস করার জন্য অনেক কোড থাকে তাই ইউজার ইন্টারফেস (ইউআই) স্তরের কোড কমাতে স্থাপত্য নকশার ডিজাইন করা হয়েছিল, যার ফলে এটি 'পরিষ্কার' এবং পরিচালনাযোগ্য।

সুতরাং, MVC প্যাটার্নের সাথে, একটি ওয়েব অ্যাপ্লিকেশন

  • মডেল (তথ্য)
  • দেখুন (তথ্য দেখতে এবং ম্যানিপুলেট করতে ইন্টারফেস)
  • কন্ট্রোলার (ক্রিয়াকলাপগুলি)

কন্ট্রোলার মডেল

মডেল এবং না অথবা

দৃশ্য

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

কনট্রোলারস বইগুলি পরিচালনা করে এমন কর্মগুলি পরিচালনা করুন (তালিকা, যোগ, দেখুন, ইত্যাদি)। একাধিক কনট্রোলারস এক প্রধান

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

(ই। সি। ইনডেক্স। পিএইচপি ) থেকে কর্ম (ব্যবহারকারীর অনুরোধ) পায়। controller_books। পিএইচপি অনুরোধ বিশ্লেষণ করে এবং মডেল_বক্সগুলি কল করে। পিএইচপি (তথ্য) এসসিআই-ফাই বইগুলির তালিকা ফিরিয়ে দিতে। মডেল এর দায়িত্ব যে তথ্যটি প্রয়োগ করা হয়েছে (যে অনুসন্ধান ফিল্টার ব্যবহার করা হয়েছে) ব্যবহার করে।

কন্ট্রোলার

তারপর তথ্য নেয় এবং এটি প্রাসঙ্গিক

দেখুন

(অনুসন্ধান দেখুন, মুদ্রণ ভিউ, বিস্তারিত দেখুন ইত্যাদি) এবং তথ্যটি উপস্থাপিত হয় ( দেখুন এর মাধ্যমে) >) ব্যবহারকারী যিনি অনুরোধ শুরু করেন এটি এমভিসি প্যাটার্নের মৌলিক বিষয়, যা মডেল-ভিউ-উপস্থাপক (এমভিপি), মডেল-ভিউ-মোডেল (এমভিভিএম), হাইগ্রারিকাল-মডেল-ভিউ-কনট্রোলার (যেমন- মডেল-ভিউ-প্রডিজার) এইচএমভিস), এবং মডেল-ভিউ-অ্যাডাপ্টার (এমভিএ) ইত্যাদি।

এমভিপি প্যাটার্ন

মডেল-ভিউ-উপস্থাপক (এমভিপি)

  • এমভিপি প্যাটার্ন কিছুটা সময় ধরে চলছে এবং একটি MVC এর বৈকল্পিক এটি বিশেষভাবে পরীক্ষা অটোমেশনের জন্য ডিজাইন করা হয়েছিল যেখানে অটোমেশনের মাধ্যমে পরীক্ষা করা যেতে পারে এমন কোডের পরিমাণ বাড়ানোর উদ্দেশ্য ছিল, এবং প্যাটার্নটি উপস্থাপনা স্তরটির সাথে কিছু সমস্যা নিয়ে আলোচনা করা হয়েছে, UI থেকে ব্যবসায়িক লৌকালকে আলাদা করা।
  • স্ক্রীনটি ভিউ, এটি প্রদর্শন করা মডেল হল মডেল, এবং উপস্থাপক একসঙ্গে দুটি হুক এমভিপি
  • বিভিন্ন দায়িত্বের সাথে নিম্নলিখিত উপাদানগুলিকে অন্তর্ভুক্ত করে: মডেল

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

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

পরিবর্তন এবং আপডেট করে এই ঘটনাগুলির প্রতি সাড়া দেয়। মডেল এবং দেখুন বাঁধুন। এমভিসি এবং এমভিপি

নিদর্শন দেখার পরে, উভয় উপাদানই প্রতিটি উপাদানের জন্য আলাদা দায়িত্ব রয়েছে এবং তারা দেখুন

(ইউআই) এবং এর মধ্যে বিচ্ছেদকে অগ্রাহ্য করে।

মডেল

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

এমভিভিএম

প্যাটার্ন বিশেষভাবে উইন্ডোজ উপস্থাপনা ফাউন্ডেশন (ডব্লিউপিএফ) এবং মাইক্রোসফট সিলভার্লাইট প্ল্যাটফর্মের জন্য ডিজাইন করা হয়েছে এবং এটি হতে পারে এক্সএএমএলএ [i] প্ল্যাটফর্মগুলিতে ব্যবহৃত হয়। WPF একটি মাইক্রোসফ্ট সিস্টেম যা Windows- ভিত্তিক প্রোগ্রামগুলিতে ব্যবহারকারীর ইন্টারফেসগুলি প্রদান করে এবং এটি প্রথমে.NET ফ্রেমওয়ার্ক 3. 0. MVVM থেকে MVC এবং এই প্যাটার্ন, দেখুন আচরণ, ঘটনা এবং ডেটা বাঁধার সাথে সক্রিয় এবং দেখুন

দেখুনমডেল এর সাথে সিঙ্ক্রোনাইজ করা হয় (যা উপস্থাপনা আলাদা করতে সক্ষম এবং পদ্ধতিগুলি প্রকাশ করে

  • মডেল
  • MVVM তিনটি মূল উপাদানগুলি পরিচালনা করে এবং কমান্ডের কমান্ড: মডেল (বৈধতা এবং ব্যবসায়িক লজিকের তথ্য প্রদর্শন করে) দেখুন > (দৃশ্যটি ব্যবহারকারীর পর্দায় দেখায় এমন কাঠামো, লেআউট এবং চেহারা নির্ধারণের জন্য দায়ী। মূলত, দৃশ্যটি কেবল XAML- এর সাথে সংজ্ঞায়িত করা হয়, যার সাথে একটি সীমিত কোড-পশ্চাদ্ধাবন যা ব্যবসার লজিক ধারণ করে না। দুটি উপায়ে ডেটা দেখুন
  • এবং দেখুনমডেল

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

ইভেন্টগুলিতে সাড়া দেওয়ার সময় পরিবর্তন হবে ViewModel । ভিউ মডিেল দেখুন এবং মডেল এবং দেখুন যুক্তিবিজ্ঞানের মধ্যে মধ্যস্থতাকারী। এটি মডেল - মডেল

থেকে তথ্য গ্রহণ করে এবং এটি

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

তে কাজ করছে, তারা অন্য উপাদানের অ্যাক্সেসের প্রয়োজন ছাড়া ডেটা নমুনাগুলি তৈরি করে এটি ইউজার ইন্টারফেসের সহজ রিডিসিনকে সহজতর করে তোলে কারণ দেখুন এক্সএলএল এ প্রয়োগ করা হয়।

এমভিপি

এর সাথে আগে উল্লেখ করা হয়েছে, সহজ সমাধানগুলির জন্য স্থাপত্য এবং নকশার নিদর্শন প্রয়োজন হবে না, যেমন "হ্যালো ওয়ার্ল্ড!"কোন প্যাটার্ন অনুসরণ খুব মৌলিক; তবে, যত বেশি বৈশিষ্ট্য, ফাংশন এবং উপাদানগুলি চালু করা হয়, অ্যাপ্লিকেশনটির জটিলতা বৃদ্ধি পায় এবং যাতে পরিমাণে কোড পরিচালিত করা প্রয়োজন।

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

এমভিভিএম সিলভার হালট, WPF, ননক আউট / এঙ্গুলার এসএসএস ইত্যাদি জন্য ডিজাইন করা হয়েছে।