بررسی بخش View در معماری سه لایه MVC

چهارشنبه 2 خرداد 1397

در معماری سه لایه mvc سه بخش وجود دارد که هر یک دارای ویژگی های خاص مربوط به خود هستند. view یکی از بخش های مهم در این معماری بوده که رابط بین بخش مدل و کنترلر محسوب می شود و به نوعی پیش روی کاربر قرار می گیرد. آشنایی با آن به نوعی درک این معماری را ساده تر می نماید.

 بررسی بخش View در معماری سه لایه MVC

 سه لایه بودن معماری mvc سبب می شود که جداسازی دقیقی صورت پذیرد، بخش view از گل های ارتباطی قوی با کاربران محسوب می شود. view رابط دو بخش مدل و کنترلر است .

معرفی بخش view

این بخش از معماری mvc در واقع مربوط به بخش presentation layer است. در این بخش وظیفه اصلی برقراری ارتباط با کاربر نهایی می باشد. این ارتباط باید در یک چهارچوب صحیح صورت پذیرد. داده ها از کاربر گرفته خواهد شد و داده های آماده بین دو بخش مدل و کنترلر تبادل می شود. این ارتباط باید به درستی اتفاق بیفتد. یک نکته مهم در view عدم بررسی صحت داده های وارده شده می باشد. در واقع view نیازی به بررسی داده هایی که توسط کاربر ارائه شده است نداشته و این گزینه را برعهده نمی گیرد. این موضوع حتی در خصوص داده هایی که نمایش می دهد نیز صدق می کند. مشخص شد که view در واقع با داده های خام سروکار دارد.

مثال در خصوص view

فرض کنید یک فرم ثبت نام وجود دارد که به login مشهور است، در این فرم ها کاربر کلمه عبور را وارد می نماید، در این وضعیت می توان در همان فرم به بررسی پسورد پرداخت. در واقع باید صحت پسورد به درستی بررسی شود. چنین عملی در معماری mvc قابل قبول نیست. برای حل این مساله معماری سه لایه زمانی که فرم فرم لاگین رمز عبور وارد شد دکمه ورود زده می شود و هیچ عمل دیگری بر روی رمز وارد نمی شود و تنها یک نتیجه مبنی بر اینکه آیا کاربر می تواند وارد شود یا نه صورت می پذیرد. بخش view در این معماری به نوعی نقش نماها را برعهده دارد.

چرا بخش view مهم است؟

فرض کنید تمامی مراحل معماری سه لایه به درستی به کار رفته باشد اما هیچ اطلاعاتی به کاربر نشان داده نشود. همانطور که اخیرا بررسی شد در این معماری قرار است یک جداسازی صورت پذیرد و این موضوع می بایست به صورتی پیش برود که تمامی مراحل را به درستی پوشش دهد، قطعا اگر تمامی مراحل انجام شده اما هیچ خروجی وجود نداشته باشد این معماری دچار نقص خواهد بود. در بررسی های اخیر مشخص شد که کاربران از دو بخش دیگر در معماری mvc مطلع نیستند و تنها با بخش view ارتباط می گیرند. البته توجه نمایید که این بخش به صورت سه لاین فعالیت می نماید و می تواند ورودی و همینطور خروجی درستی را فراهم سازد. دقت نمایید که در بخش view می بایست تمامی مسایل به درستی بررسی شود. خوشبختانه این لایه در معماری دارای شمای دقیق و مصوری است که از دید برنامه نویسان یک ابزار قدرت محسوب می شود.

View چطور ارتباط می گیرد؟

این بخش با بخش مدل به صورت گام به گام پیش می رود، همانطور که می دانید بخش مدل و بخش کنترلر هردو در خصوص صحت داده فعالیت نموده و بخش view در این خصوص هیچ مسئولیتی ندارد پس از بررسی صحت داده، می بایست داده مورد نظر به درستی نمایش داده شود، این درستی به مفهوم معنای صحیح نبوده و در واقع هر داده ای که از بخش مدل عرضه می شود توسط بخش view به کاربر نمایش داده خواهد شد.

ارتباط گیری بخش view با توجه به شرایط طراحی معماری سه لایه اتفاق می افتد. حال فرض کنید قرار است که یک بخش view با یک ابزار به صورت دستی تغییر نماید قطعا چنین موضوعی در زمانی که برنامه حالت معمولی بوده و بدون هیچ گونه معماری طراحی شده است به سختی صورت می پذیرد. فرمت داده های نمایشی در بخش view می تواند به درستی تنظیم شود. تا به اینجای کار مشخص شد که اهمیت بخش view همانند سایر بخش ها بوده و به نوعی سبب می شود که این معماری در شرایط ایده آل به کار خود ادامه دهد.

جمع بندی

معماری سه لایه mvc برای تیم های برنامه نویسی نقش حیاتی دارد. در این معماری به نوعی می توان بهترین گزینه ها را بررسی نمود. در نظر داشته باشید که هر سه بخش در معماری سه لایه از اهمیت یکسانی برخوردار هستند و در صورت نقص یک لایه قطعا این معماری به درستی کار نخواهد کرد.

در پروژه های تیمی هر فرد و یا مجموعه ای از افراد بخش خاصی از معماری را به دست می گیرند به این ترتیب در نهایت با یک ترکیب دقیق می توان بهترین برنامه های تحت وب را تولید نمود. پیچیدگی کدنویسی در این معماری بسیار کمتر از مدل های قدیمی بوده و خوانایی و همینطور مجزا بودن هر لایه سبب می شود که هر گونه تنظیم و تغییری در آن قابل قبول تر باشد. توجه نمایید که در بخش view می توان داده ها را به صورت تایمری نیز تنظیم نمود و به این ترتیب نوع و زمان خروجی به درستی تعیین می شود، هر گونه اصلاح در بخش کنترلر به درستی به بخش view منتقل می شود و این موضوع سبب خواهد شد که این معماری بتواند رتبه بالایی را کسب نماید.

آموزش asp.net mvc

ایمان مدائنی

نویسنده 1299 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید