Search
Generic filters

اینستاگرام رامان صفر و یک
طراحی و پیاده سازی انواع وب سایت و سیستم های تحت وب

آخرین مقالات

محصولات

برچسب ها

برچسب‌ها

ASP.NET backend frontend php PHP و ASP.NET PHP یا ASP.NET استراتژی طراحی وب سایت استفاده از کتابخانه PdfView اسلایدر افقی در اندروید اسلایدر افقی در برنامه نویسی اندروید الگوی معماری MVC برنامه نویس حرفه ای وب برنامه نویسی برنامه نویسی وب تجربه کاربر (UX) توسعه دهنده وب توسعه دهندگان وب توسعه وب حل مشکل اتصال به دیتابیس آنلاین در اندروید 8 به بالا داشتن نرم افزار های موفق درآمد برنامه نویسی دریافت نکردن اطلاعات از سمت سرور در اندروید رسم نمودار در برنامه نویسی اندروید رسم نمودار در برنامه نویسی اندروید با کتابخانه MPAndroidChart روش ایجاد اسلایدر افقی در برنامه نویسی اندرود سمت سرور سمت کلاینت شروع برنامه نویسی موبایل طراح UI طراح UX طراحی UX و UI طراحی UX یا UI طراحی استراتژیک وب طراحی رابط کاربر (UI) طراحی وب طراحی وب سایت عدم اتصال به دامنه های http در اندروید فروش موفق نرم افزار مدل کلاینت-سرور موفقیت در دنیای نرم افزار نشان دادن فایل های pdf در برنامه نویسی اندروید نمایش pdf در موبایل چکونه برنامه نویسی موبایل را شروع کنیم ؟ کتابخانه PdfView گرفتن اطلاعات گوشی اندرویدی در برنامه نویسی

Model View Controller (MVC) یک الگوی معماری است، که یک برنامه را به سه بخش اصلی و منطقی تفکیک می‌‌کند:
مدل، نما و کنترل کننده.

هر یک از این  قسمت ها برای مدیریت جنبه های خاصی از توسعه یک برنامه بوجود آمده اند.

MVC یکی از پر کاربردترین فریمورک های توسعه وب با استانداردهای صنعتی برای ایجاد پروژه های مقیاس پذیر و قابل توسعه است.

مفهوم معماری MVC چیست؟ وچگونه باید آن را درک کنیم؟

امروزه وب سایت ها به یکسری از ویژگی ها میل دارند که می توان از آن ها تعامل با کاربر، پویایی و یا ارائه خدمات با نوعی عملکرد بخصوص نام برد.

آنها می توانند چیزی بیش از یک صفحه ثابت (استاتیک) HTML و CSS باشند، پس در اینجا نیاز دارند از الگوی معماری Model View Controller (MVC) استفاده کنند.

تعامل با کاربر این امکان را بوجود می آورد که موارد متعددی از خدمات که تنها با یک بار بارگذاری صفحه انجام شده است را سازماندهی کند.

به همین دلیل است که در توسعه وب مدرن، درک چگونگی ایجاد صفحات پویا و داینامیک مهم است، شاید دلیل اصلی آن آشنایی با الگوی معماری MVC باشد.

اگر یک مبتدی در توسعه وب هستید، کلماتی مانند “الگوی معماری” ممکن است بسیار پیچیده و انتزاعی به نظر برسند، اما ایده کلی MVC در واقع بسیار قابل درک است.

من تمام تلاش خود را خواهم کرد تا در این مقاله توضیحاتی را درباره مفهوم معماری MVC ارائه دهم.

آیا درک مفهوم معماری MVC مهم است؟

در ذهن من، پاسخ این سوال مثبت است.

درک مفهوم معماری MVC مهم است زیرا این یک ساختار اساسی است که اکثر برنامه های وب بر اساس آن ساخته شده‌اند.
همین امر در مورد برنامه های تلفن همراه و برنامه های دسک تاپ نیز صادق است.

تغییرات زیادی در مورد ایده اصلی MVC وجود دارد، این ایده اولیه حدود سال ۱۹۷۸ در Xerox PARC توسط Trygve Reenskaug ایجاد شد.

هدف این بود که به کاربر کمک نهایی کند تا یک سیستم رایانه ای اساسی را به روشی بصری و قابل درک کنترل کند.

مفهوم معماری MVC | الگوی معماری MVC

MVC به کاربر امکان تعامل با رابط کاربری(UI) را می دهد‌، این امکان دستکاری و کنترل سیستم را هم نیز فراهم می کند.

مفهوم سطح بالا

بدون استفاده از کلمات تخصصی، اکنون ایده اصلی مفهوم معماری MVC را از طریق یک مورد ساده برای شما توضیح خواهم داد.

تصور کنید که شما در یک ساندویچ فروشی هستید، به پیشخوان می روید و منو را نگاه می کنید.

مفهوم معماری MVC | الگوی معماری MVC

شما تصمیم می گیرید که یک ساندویچ بوقلمون را می خواهید(در واقع می توانید از قبل، سفارش خود را تصور کرده باشید)

بنابراین شما سفارش خود را به صندوق دار یا گارسون می‌گویید.

گارسون هنگام سفارش ساندویچ بوقلمون دقیقاً می فهمد شما چه چیزی را می خواهید
او به سمت محل تولید ساندویچ می رود و به افراد حاضر در آن قسمت می گوید که برای انجام دادن سفارش شما باید چه مواردی را بدانند.

تیم ساندویچ سازی منابع بسیاری در اختیار دارند. ژامبون، بوقلمون، ماهی تن، سالاد و پنیر همه می توانند در ساندویچ شما بروند.

ولی آنها فقط مواد مورد نیاز سفارش شما را گرفته و آنها را درون ساندویچ بوقلمونی که شما سفارش داده اید مونتاژ می کنند.

مفهوم معماری MVC | الگوی معماری MVC

بعد از کامل شدن ساندویچ، گارسون آن را به شما تحویل می دهد. اکنون ساندویچ بوقلمون مورد نظر خود را دارید.

حال توجه کنیم :

در مثال قبلی، سه بخش مجزا وجود داشت که هرکدام نمایانگر یکی از بخش های ما در الگوی معماری MVC می باشد:

مفهوم معماری MVC | الگوی معماری MVC

گارسون—>Controller

ایستگاه ساخت ساندویچ—>Model

ساندویچ تمام شده ای که در پایان دریافت کردید—>View

توضیح جریان فعالیت ها

وقتی ساندویچ خود را سفارش دادید، شما یک سفارش مخصوص(ساندویچ بوقلمون) انتظار داشتید.

مفهوم معماری MVC | الگوی معماری MVC

و در نهایت نتیجه شد :

ساندویچ بوقلمون

این همان چیزی است که وب سایت‌ها برای سرویس دهی و دادن خدمات از آن استفاده می کنند.

به عنوان مثال، در فیس بوک می توانید دکمه “دوستان” را فشار دهید تا لیستی از دوستان خود را ببینید.
شما انتظار دارید لیست دوستانتان ظاهر شود(نه چیز دیگر).

شما می توانید این را در ذهن خود تصور کنید:

هنگامی که دکمه “دوستان” را فشار می دهید، از سرورهای فیس بوک درخواستی می کنید.
درخواست شما این است که لیست دوستان شما را به نمایش درآورند، دقیقاً مانند درخواست ساندویچ خود به گارسون (Controller).

درخواست شما از طریق Controller به سرورهای Facebook می رسد و به Model آنها برخورد می کند، که سعی در حل آن دارد.

سپس Model فقط دوستان شما را از یک پایگاه داده(Database) جذب می کند، دقیقاً مانند ساندویچ ساز که فقط مواد تشکیل دهنده ساندویچ بوقلمون را استفاده می کند.

مفهوم معماری MVC | الگوی معماری MVC

این منابع (داده های لیست دوستان شما) برای پاسخگویی جمع می شوند.
این مورد شبیه به روش سیستم ساندویچ ساز است که همه مواد را در یک ساندویچ تمام شده مونتاژ می کند. (پردازش اطلاعات توسط خود مادل انجام میشود.)

این لیست دوستان سپس برای مصرف برای شما ارسال می شود، مانند تحویل ساندویچ توسط گارسون در پایان سفارش شما(View).

در واقع می‌توانیم به صورت خلاصه بیان کنیم که :

گارسون کنترل کننده است:

او تمام ترکیبات احتمالی ساندویچ هایی را که می توانید سفارش دهید می داند.
او اطلاعات شما را جمع می کند و سفارشی را برای حل و فصل ارسال می کند.

سازندگان ساندویچ مدل هایی هستند:

آنها می دانند برای مونتاژ ساندویچی که شما سفارش داده اید، چه مواردی لازم است.

ساندویچ منظره یا نما است:

این “چیزی” است که کاربر نهایی سرانجام دریافت می کند.

استفاده از الگوی معماری MVC

کنترل کننده (Controller) :

کنترل کننده درخواست های ورودی را کنترل می کند.
در الگوی معماری MVC (یا همان وب سایت) این مورد می تواند همان URL (آدرس بار) خاص شما باشد.
که با توجه به عملکرد شما (مثل فشردن دکمه دوستان) در وبسایت، درخواست شما را ترسیم می کند.

مدل (Model) :

مدل ها داده های جمع آوری شده برای شما را در back end سازماندهی می کنند.

چشم انداز یا نما (View) :

این یک قالب HTML است که پس از ارسال و پردازش درخواست شما بازگردانده می شود.
اگر درخواست موفقیت آمیز باشد، باید یک صفحه (دوستان خود) را دریافت کنید.
در غیر این صورت، ممکن است صفحه  ۴۰۴ (یافت نشد) را دریافت کنید.

نتیجه

هنگام تعامل با یک سیستم، شما معمولا قادر به چهار عمل ایجاد (Create)، بازیابی (Retreive)، بروزرسانی (Update) و حذف (Delete)
اشیا یا داده ها در پایگاه داده اصلی هستید، که این مورد غالباً به صورت «CRUD» مختصر می شود.

من در اینجا توضیح ندادم که چگونه یک کاربر می‌تواند داده‌های موجود در پایگاه داده را «CRUD» کند.

معمولاً شما‌ می‌توانید مواردی را در یک وب سایت اضافه، بروز و یا حذف کنید.

این عملکردها تقریباً مشابه توضیحات بالا است، فقط تفاوتشان در این است که نوع عملکرد داده های شما «CRUD»، وابسته به نحوه درخواست شما از کنترل کننده است.

مفهوم معماری MVC | الگوی معماری MVC

به مفهومی ساده تر ممکنه شما قصد تغییراتی در ساندویچ یا حتی پس دادن آن داشته باشید که وابسته به درخواست شما از گارسون است.

امیدوارم که شما اکنون درک واضح تری از مفهوم معماری MVC و چگونگی عملکرد الگوی معماری MVC داشته باشید.

اگر فکر می کنید این توضیحات مفید واقع شده، یا در مورد چگونگی بهبود این مقاله سوال یا فکری دارید، لطفاً آزادانه نظر دهید.

مهدی شیخی _ گروه نرم افزاری رامان صفر و یک

۱۹ دیدگاه. ارسال دیدگاه جدید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
برای ادامه، شما باید با قوانین موافقت کنید

آخرین مقالات منتشر شده

آخرین آموزش های کوتاه