ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : معماری mvc در برنامه نویسی



saeed.mihan
March 23rd, 2017, 21:15
به نام خدا معماری ها و ساختار های استاندارد در برنامه نویسی بوجود می آیند تا علاوه بر منظم کردن کارمان امنیت را نیز ارتقا دهند. در اینجا می توان تعبیر های مختلفی برای امنیت به کار برد بعنوان مثال یک کمپانی بزرگ مثل فیس بوک باید برای سایت خود در تمامی بخش ها مانند بانک اطلاعاتی از بهینه ترین ساختار و معماری استفاده کند چرا که روزانه حجم زیادی از داده ها درون بانک اطلاعاتی آن ذخیره می شود و درصورتی که معماری بهینه نداشته باشد و بانک اطلاعاتی آن افزونگی داده داشته باشد قطعا امنیت اطلاعات به نوعی در خطر است چونکه سرعت بانک به مرور کاهش پیدا میکند و همچنین به فضای زیادی جهت ذخیره سازی داده ها نیاز خواهد بود که این خود نوعی امنیت را به چالش میکشد؛ همچنین تعابیر دیگری از امنیت میتوان داشت بعنوان مثال در برنامه نویسی بخش های مختلف باید مجزا از هم کد نویسی شوند وگرنه راه های دسترسی به قسمت های حساس مثل بانک اطلاعاتی آسان خواهد شد. در این مطلب آموزشی میهن لرن دقیقا در این مورد میخواهیم صحبت کنیم که چه معماری را در برنامه نویسی خود بکار ببریم که امنیت را ارتقا دهیم ضمن اینکه کد نویسی منظم و قابل فهم تری خواهیم داشت.

http://www.mihanlearn.net/wp-content/uploads/2016/10/MVC-MihanLearn_net-1024x852.jpg (http://www.mihanlearn.net)
معماری MVC
قطعا اخیرا بارها نام MVC را شنیده اید، ام وی سی نام یک معماری بسیار خوب در برنامه نویسی می باشد که اکثر زبان ها و فریم ورک ها از آن بهره می برند. در واقع این معماری بخش های مختلف از یکدیگر مجزا میکند بطوری که کاربر نهایی (End-user) فقط بتواند نتایج عملیات را مشاهده کند و کد نویسی قسمت های مختلف منجمله بانک اطلاعاتی در پشت برده انجام خواهد شد به دور از دسترس کاربران و آنها به هیچگونه نخواهند توانست این کد ها را در سورس کد سایت مشاهده کنند در عین حال مدیریت پروژه برایتان بسیار راحت تر خواهد شد.
در واقع MVC مخفف Model View Controller می باشد که در ادامه به تشریح هر یک از این بخش ها خواهیم پرداخت.
Model: مدل کار اصلی را انجام میدهد که همان ارتباط با بانک اطلاعاتی سایت است بعنوان مثال داده ها را در بانک ذخیره می کند.

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

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