فیلم آموزش ASP.NET MVC – بخش هشتم

فیلم آموزش ASP.Net MVC 4 به زبان فارسی

فیلم آموزش ASP.Net MVC 4 به زبان فارسی

با ادامه ی سری ویدیوهای آموزش ASP.NET MVC در خدمت شما هستیم.

چند ویدیوی قبلی، اطلاعاتی درباره ی بخش های اصلی که یک پروژه ی ASP.NET MVC  را تشکیل می دهند ارائه داد، اون چیزهایی که در چند ویدیوی قبلی گفته شد، اصول اساسی ای هست که یک پروژه ی ASP.NET MVC  رو تشکیل می دهند یعنی الگوی Model View Controller یا همون الگوی MVC. فصل یک با یک مقدمه ی کوتاهی از این الگو شروع شد ولی در این ویدیو ما به جزییات بیشتری که الگوی MVC رو تشکیل میدن می پردازیم. فصل یک، یک تصویر مشخصی از MVCارائه داد که عبارت بود از سه لایه ی مجزا که مدل  Model  و ویو View و کنترلر Controller هستند و بیان کرد که هر کدام از این لایه ها وظایف منحصر به فرد خودشون رو دارند. بزارید ببینیم اون وظایف واقعا چه چیزهایی اند.­

لایه ی مدل دارای تمام business logic پروژه ی شماست. یعنی کدی که بیان می کند business شما چگونه کار می کند. برای مثال در سایت حراج آنلاین ما، مدل ما تشکیل میشه از :

Auctions یا همون حراج­ها، bidها یا همون پیشنهادهای خرید، user ها یا همون کاربرهایی که اون پیشنهاد رو می­دن

این کلاس ها شامل behavior یا همون رفتارها هم هستن، مثل اینکه چطوری کاربرا پیشنهاد قیمتشون رو در سایت قرار می­دن و اینکه چه اتفاقی باید بیفته وقتی اون پیشنهادهای قیمت در سایت گذاشته شدن. در یک طراحی ایده­آل کلاس­هایی که لایه ی مدل رو تشکیل می­دن ارتباطی با وب ندارند. شما می­دونید که لایه ی Model مناسبی درست کردید که می­تونید در سناریوهای مختلفی استفاده کنید حتی مثلا در پروژه­هایی که برای desktop طراحی شدن مثل پروژه­های win forms یا پروژه­های WPF.

لایه­ی بعدی: لایه­ی View هست: این همون لایه­ای هست که مسولیت ارتباط با کابر رو برعهده داره، مسولیت به صورت تصویر درآوردن Model و ارتباط برقرار کردن با Controller از طرف کاربر. در اکثر مواقع لایه ی View شامل Html استاندارد و جاوااسکریپت و cssهست. با این حال لایه ی View فقط منحصر به html نیست و می­تونه از بسیاری از فرمت های دیگه پشتیبانی کنه مثل JSON و XML و custom return types.

این وظیفه ­ی Viewهست تا هرچیزی رو که برنامه ی شما نیاز داره رو پردازش و Render کنه تا یک تجربه­ی خیلی خوبی برای کاربر درست کنه. و در نهایت لایه ی کنترلر Controller رو داریم. این لایه مثل پلیس ترافیک عمل می­کنه یعنی جریان برنامه بین Model و View رو کنترل می­کنه. کنترلرها مغز یک پروژه­ی ASP.NET MVC   هستند. اطلاعات رو از لایه ی Model گرفته و روش درست رو برای انتقال اون اطلاعات به کاربر انتخاب می­کنند. توجه کنید که کنترلرها هیچ یک از این کارها رو به صورت مستقیم انجام نمی­دن. وظیفه­ی اصلی اون این هست که این وظایف رو تا اونجا که ممکن هست به لایه های Model و View منتقل بکنه تا اونها کار اصلی رو انجام بدن. برای مثال وقتی یک کاربر جزییات یک حراج رو درخواست می­کنه کنترلر از مدل می­پرسه که کدوم اطلاعات باید نمایش داده بشن بعد اون اطلاعات رو به View می­فرسته که اون هم html ی رو تولید میکنه که به مرورگر کاربر فرستاده میشه. چیزی که در این سناریو مهم هست این هست که نه کنترلر اطلاعات رو به طور مستقیم به دست میاره و نه html رو به طور مستقیم تولید میکنه. بلکه فقط قدم های لازم برای انجام این کارها رو بین Viewو مدل هماهنگ می­کنه. روشی که این سه لایه ی MVC با هم در تعامل هستن یک اقدام عمدی و آگاهانه هست برای رسیدن به یک نتیجه به نام separation of concernsیا همون جدایی فعالیت­ها یا جدایی دغدغه­ها. برمبنای این فلسفه، عناصری که یک برنامه رو تشکیل می­دن وظیفه دارن تا فقط یک کار رو انجام بدن: و اون هم این هست که تا جایی که می­تونند در وظایف همدیگه دخالت نکنند. عناصری که براساس فلسفه ی جدایی فعالیتها یا separation of concernsدرست شدن loosely coupled هستند یعنی اینکه برای انجام وظایف خود به عناصر دیگر وابسته نیستند. برنامه­ای که براساس فلسفه ی جدایی دغدغه ها ساخته شده به ما کمک می­کنه تا هر کدام از عناصرش رو بدون اینکه کل برنامه ی ما خراب بشه، بهبود ببخشیم و یا کلا اون عنصر رو با عنصر بهتری جایگذاری کنیم. در نتیجه خیال ما راحت هست که سایر عناصر خراب نمی­شن و از اون بهبود یا جایگذاری اون عنصر خاص تاثیری نمی­پذیرن.

الگوی طراحی MVC یک الگوی قدرتمندی برای طراحی برنامه های قوی و قابل نگهداری هست. هرچند الگوی MVC یک انحراف از سایر الگوهای قبلی هست و شاید برای هر نوع پروژه یا developerی مناسب نباشه، بنابراین اگه شما از این الگو خوشتون میاد و می­خواهید الگوی MVC رو در عمل ببینید، لطفا این دوره ی آموزشی رو ادامه بدید تا یاد بگیرید کع چگونه به طور کامل از قدرت MVC در ASP.NET MVC   استفاده بکنید. اگر هم فکر می­کنید که این الگو مناسب شما نیست از شما می­خواهیم که چند ویدیوی بعدی رو مشاهده کنید تا هم با الگوی MVC کامل تر آشنا بشید و هم با مزایایی که ارائه می­ده بیشتر آشنا بشید و بعد تصمیم بگیرید.

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

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