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