با عرض سلام خدمت تمامی دوستان برنامه نویس با یکی دیگر از جلسات آموزش طراحی سایت با ASP.NET در خدمت شما عزیزان هستیم در جلسه گذشته به مقایسه معماری MVC با دیگر معماری ها پرداختیم در این جلسه آموزش ASP.NET Core قصد داریم تا شما را با گونه های مختلف MVC آشنا نماییم.
سرفصلهای پست
گونه های مختلف MVC
تا اینجا ویژگیهای اصلی MVC به ویژه در پیاده سازی ASP.NET Core را بررسی کردیم. تفسیرها و پیاده سازی های دیگری هم از این ویژگی ها وجود دارد. در این مقاله آموزشی دو نگارش دیگر از MVC را بررسی خواهیم کرد.
آشنایی با معماری Model-View-Presenter
مدل-نما-نمایشگر(MVP) گونه ای از MVC مناسب کار با معماری هایی مانند Windows Forms یا ASP.NET Web Forms است.سعی زیادی در کاربرد بهترین ویژگی های Smart UI و پرهیز از جنبه های منفی آن شده است.
در این روش ، نمایشگر نقش کنترلر در MVC را بازی میکند ولی ارتباط بیشتری در رابطه با کارها و ورودی های کاربر، با نما دارد. دو پیاده سازی مشهور از این معماری وجود دارد:
- پیاده سازی نمای غیر فعال (Passive View)
در این روش، نما دارای کد برنامه نویسی نیست. نما تنها محل نگهداری کنترل هایی است که به وسیله ی نمایشگر(Presenter)، مدیریت میشوند. - پیاده سازی Controller Manager
در این روش، نما مسئولیت منطق برخی از قسمت های نمایش را به عهده دارد، ومیتواند از مقیدسازی کنترل ها به داده ها و دسترسی مستقیم به پایگاه داده استفاده کند.
اختلاف بین این دو نوع پیاده سازی در میزان هوشمندی نما است. در هر دو مورد، جدا بودن کامل نمایشگر از رابط کاربردی ، کار آزمایش کد را آسانتر کرده است.
آشنایی با معماری Model-View View-Model
معماری MVVM از آخرین گونه های MVC است. شروع آن از Microsoft بوده و در پروژه های WPF (Windows Presentation Foundation) به کار رفته است.
در این معماری، مدل ها و نماها همان نقش گذشته در MVC را دارند. عنصر اضافه شده مفهومی به نام View Model، به عنوان بخشی است که هم داده ها را ( به وسیله ی خصوصیات یک کلاس ) برای نما تهیه میکند و هم تعیین کنندهی کارهایی است که باید روی داده های نما انجام شوند. Model View به صورت معمول یک کلاس #C است. برخلاف کنترلرها در MVC، عنصر View-Model هیچ درکی از وجود بخش نما ندارد. نما در این معماری، از روش های مقید سازی کنترل های WPF برای ارتباط دو سویه ی داده ها بین خصوصیت های کنترل ها و خصوصیت های ارائه شده به وسیله ی کلاس Model View استفاده می کند.
بسیار خب به پایان این جلسه آموزشی رسیدیم در صورتی که پیرامون مقالات آموزشی ASP.NET سوالی داشتید حتما در قسمت نظرات مقالات آموزشی مطرح کنید.
یک پاسخ
اززحمات شما در نشر علم سپاسگزارم