• آموزش یک پروژه ASP.NET MVC 5 از ابتدا تا انتها – سیستم ویدئو کلوپ – بخش دوم
آموزش یک پروژه ASP.NET MVC 5 از ابتدا تا انتها – سیستم ویدئو کلوپ – بخش دوم
1395/03/17 - 13:35:53 // MVC 5 & 6 // 2 نظر // 1338 بازدید

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

بسمه تعالی

آموزش یک پروژه ASP.NET MVC 5 از ابتدا تا انتها سیستم ویدئو کلوپ بخش دوم

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

با پذیرش اینکه MVC یک نوع Design Pattern است ، میتوان ادعا نمود این نوع معماری دارای سه اصل اساسی به نامهای

Model ، View و Controller می باشد .

سوال اینجاست که آیا فقط ASP.NET دارای یک Design Pattern در حوزه MVC می باشد ؟. پاسخ منفی است . اصلن یک طورهایی ASP.NET این نوع معماری را از Ruby قرض گرفته است . در PHPهم Laravel و YII در بستر MVC بسیار قدرتمند ظاهر شده اند .

خوب اجازه بدهید ببینیم MODEL چیست ؟. MODEL در عمل یک طرح و یک پیاده سازی از بدنه دیتابیس ما میباشد . در عمل تک تک ماهیتهای ما در ارتباط با دیتابیس هستند در Model تعریف میشوند . فرض کنید برای ویدئو کلوپ به چه بخشهای اصلی در Model نیاز داریم .

مشتری فیلمها تراکنشها و خود ماهیت اجاره دادن که دارای مثلن تاریخ و .... میباشد . اینها در Model پیاده سازی خواهند شد و هر کدام یک کلاس ساده با یکسری قواعد مختص به خود میباشند. نکته مهم این است که در این نوع معماری (MVC) ، طراحی این بخشها هیچ گونه درگیری با UI نداشته و تغییر و دستکاری آن میتواند به صورت مستقل انجام شود .

View چیست ؟ . View در عمل یک فایل حاوی HTML ، CSS و محتوای Static می باشد که بخشهایی از آن میتواند به صورت Dynamic توسط کدهای برنامه نویسی تکثیر و تغذیه شود.

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

حال فرض کنید پروژه را تمام کرده ایم و آنرا روی یک دامنه به نام www.testproj.com قرار داده ایم. وقتی یک درخواست مانند www.testproj.com/Movies به سرور ارسال شود، اول Controller صدا زده شده و باید آماده به پاسخگویی گردد.خوب حالا این Controller لیست Film ها را از Model میگیرد و سپس آنها را به Viewمنتقل میکند .

حال View میتواند هر شکل ظاهری و ... داشته باشد که با CSS و ... ایجاد گردیده است. خوب دقت کنید که این استقلال بخشهای سیستم یعنی یک پیاده سازی عالی از Separation of Concerns که امروزه برای کارهای تیمی و بزرگ بسیار مورد توجه میباشد .

یک نکته در این بین وجود دارد ، درست است که به خاطر وجود Model و View و Controller این تکنولوژی به MVCمعروف است ، ولی در این بین یک ماهیت مهم دیگر به نام Router هم وجود دارد. یعنی تصویر زیر میتواند بسیار منسفانه باشد .

گفتیم اگر یک درخواست به سمت سرور ارسال شود، Controller باید پاسخگو باشد ، ولی آیا فقط یک Controller در پروژه داریم ؟. کدام Controller باید از خواب بیدار شود و پاسخ گو باشد ؟. اینجاست که وظیفه Router مشخص میشود . بر اساس قواعد Routing ، Router مشخص میکند کدام Controller و چه متدی درون آن باید پاسخ گوی یک درخواست باشد.

این تصویر گویا است . چون لیست Movies درخواست شده ، Router اقدام به صدا زدن MoviesControllerنموده است . به صورت دقیق تر باید بگوییم اقدام به صدا زدن یکی از متدهای درون آن خواهد نمود.

خوب این بود معماری MVC در همه زبانها نه فقط ASP.NET . در بخشهای بعدی ادامه مبحث را پیگیری خواهیم نمود.

علی کلاهدوزان
معرفی نویسنده : علی کلاهدوزان

سلام بر دوستان ،
شاید رایج است به عنوان پروفایل کاربر ، چند خطی راجع به خودم بنویسم ، ولی وضعیت کاری و سوابق من با یک جستجوی ساده در گوگل مشخص خواهد شد ، لذا سرتان را با مطالب بی مورد به درد نیاورم بهتر است . اگر نکته خاصی لازم بود بدانید در قسمت "ایلیا سافت در یک نگاه" به احتمال زیاد یافت خواهد شد . جزئیات بیشتر را سوال کنید ، آدرس ایمیل Ali@Kolahdoozan.com همیشه جوابگوی شماست .امیدوارم از مطالب سایت استفاده کرده باشید . شاد و پیروز باشید .

امتیاز به مطلب
           
نظرات کاربران
  • محمد رازانی
    1395/03/19 - 18:13:49

    0
    0
    سلام و تشکر فراوان بابت وقتی که گذاشتید و این مبحث مهم رو آموزش میدید و واقعا کارتون تحسین برانگیر هست. و میتونه کمک زیادی به افرادی چون من که تازه داره وارد بحث mvc میشه، کنه. و اینکه بابت اهمیت دادن و انتشار سریع بخش ها ممنونم چون زیاد در انتظار نمیذاره مارو. جسارتا یک انتقاد هم دارم، اینه که غلط املایی در متن هاتون دیده میشه،
     
    پاسخ:
    ----- 
    غلط املایی زیانی برای شما از نظر فنی ندارد.  اگر نیرو و وقت ویرایش داشتیم انها هم نبود. نمی گوییم غلط املایی داشتن خیلی خوب است ، ولی ضرری به مراحل یادگیری شما نمی زند . 
  • javad
    1396/02/14 - 20:13:27

    0
    0
    salam tashakor az zahamati ke keshidin link download kar nemikone
ارسال نظر