آموزش ام وی وی ام (MVVM) پیشرفته و پروژه محور در WPF

تعداد ویدئو 101
زمان دوره 06:55:01
مترجم مرتضی گیتی
دوبلر مرتضی گیتی
سایت منتشر کننده پلورال سایت

آموزش ام وی وی MVVM پیشرفته و پروژه محور در دبلیو پی اف WPF یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی ترمیم پیشرفته مدل در WPF و MVVM است که با نام اصلی WPF and MVVM: Advanced Model Treatment از شرکت Pluralsight منتشر شده است.

MVVM چیست؟

به عنوان یک توسعه دهنده ی نرم افزار در تکنولوژی های WPF و Silverlight چرا باید با الگوی MVVM آشنا بوده و نحوه ی پیاده سازی آن و نکاتش را بدانید؟

  • آیا شما به عنوان یک توسعه دهنده ی نرم افزار بصورت همزمان با یک طراح واسط کاربری بر روی یک پروژه کار می کنید؟
  • آیا به Unit Testing کامل نیاز دارید؟
  • آیا داشتن Component هایی که قابل استفاده مجدد یا اصطلاحاً Reusable هستند برای شما مهم است؟
  • آیا تغییر واسط کاربری نرم افزار بدون هیچ تغییری در کار منطق تجاری (Business Logic) برای شما اهمیت دارد؟

اگر جواب یکی از سوال های بالا “بله” باشد، شما نیاز به استفاده از MVVM در برنامه های خود دارید.

mvvm-pattern

الگوی طراحی MVVM یک عضو جدا نشدنی از توسعه ی نرم افزار با WPF و Silverlight است. بعد از یادگیری این الگو و نحوه ی پیاده سازی آن خواهید دید که ویژگی های WPF و Silverlight چنان از الگوی MVVM پشتیبانی می کنند که پیاده سازی یک نرم افزار در این تکنولوژی ها بدون این الگو کار دشوارتری خواهد شد. تعدادی از این ویژگی ها در WPF و Silverlight که این دو را برای پیاده سازی الگوی MVVM بسیار مناسب کرده است عبارت اند از:

  • سیستم Data Binding
  • وجود Data Template ها
  • Command ها

جالب است بدانید که خود مایکروسافت از MVVM برای تولید نرم افزارهایی شبیه Expression Blend استفاده کرده است.

ضمناً توصیه می کنیم که از دو محصول دیگر که از همین تولید کننده منتشر شده اند و در آموزش ساخت یک Enterprise Application با WPF و MVVM و Entity Framework و آموزش پیاده سازی MVVM در دبلیو پی اف WPF و Unit Test کردن ViewModel ها نیز استفاده کنید.

سرفصل مطالب آموزش ویدئویی MVVM پیشرفته و پروژه محور در WPF

فصل اول: مقدمه

  • مقدمه
  • بررسی سرفصل دوره آموزشی
  • چرا سرویس‌ها از کلاسهای POCO استفاده می‌کنند؟
  • چالش‌های استفاده از کلاس POCO در Client
  • بررسی برنامه FriendStorage
  • چالشهای استفاده از کلاسهای POCO در برنامه FriendStorage
  • کلاس‌های POCO در ViewModel
  • استفاده از کلاس های POCO در یک Model-wrapper
  • جمع بندی

فصل دوم: انجام Notification برای تغییرات رخ داده در Model

  • مقدمه
  • ایجاد کردن کلاس FriendWrapper
  • نوشتن Setter و Getter برای Property Simple های مربوط به کلاس Model
  • ارسال Notification در رابطه با تغییرات مربوط به Property Simple ها
  • ریفکتور کردن Logic مشترک در یک Base-class
  • استفاده از Reflection برای Set کردن و Get کردن مقادیر Property ها
  • ارسال Notification در رابطه با تغییرات Complex Property ها
  • ارسال Notification در رابطه با تغییرات مربوط به Collection- Property ها
  • Initialize کردن Wrapper-collection
  • همگام کردن داده‌های Wrapper-collection و Model-collection
  • استفاده کردن از FriendWrapper در برنامه FriendStorage
  • جمع بندی

فصل سوم: ردگیری کردن تغییرات مربوط به Model

  • مقدمه
  • ردگیری کردن تغییرات Simple Property‌ ها
  • Get کردن Original Value مربوط به Simple Property ها
  • Get کردن مقدار تغییر یافته مربوط به Simple Property ها
  • ریفکتور کردن و ردگیری کردن کد با استفاده از قابلیت های سی شارپ ۶
  • Get کردن تغییرات داده ای مربوط به FriendWrapper
  • پذیرفتن تغییرات برای Simple Property ها
  • رد کردن تغییرات برای Simple Property ها
  • ردگیری کردن Complex Property ها
  • ردگیری کردن Collection Property ها
  • استفاده کردن از کلاس ChangeTrackingCollection در کلاس FriendWrapper
  • حل کردن مشکل مربوط به همگام سازی Collection ها در ModelWrapper
  • موارد استفاده از Change Tracking در برنامه FriendStorage
  • فعال سازی و غیر فعال سازی دکمه Save
  • چک کردن تغییرات در زمان بستن یک تب
  • ریست کردن یک Friend به Original State مربوطه اش
  • جمع‌بندی

فصل چهارم: نشان دادن تغییرات مربوط به Model

  • مقدمه
  • نشان دادن تغییرات در یک TextBox
  • ریفکتور کردن Logic در یک TextBox Style مشترک
  • Bind کردن Property های مربوط به ChangeBehavior به صورت Dynamic
  • نشان دادن تغییرات در یک CheckBox
  • ایجاد کردن یک Base Style برای نشان دادن تغییرات
  • نشان دادن تغییرات در یک DatePicker
  • تبدیل کردن Original Value ها در ChangeBehavior
  • تبدیل کردن Original Value های مربوط به DatePicker
  • تنظیم کردن Original Value Converter در یک Style
  • نشان دادن تغییرات در یک ComboBox
  • تبدیل کردن Original Value های مربوط به ComboBox
  • نشان دادن تغییرات در یک DataGrid
  • ایجاد کردن یک Element Style به صورت Dynamic
  • هندل کردن عناصر اضافه شده و حذف شده
  • نشان دادن تغییرات در یک Tab-header
  • جلوگیری کردن از بسته شدن برنامه FriendStorage
  • جمع بندی

فصل پنجم: پیاده‌سازی اعتبار سنجی در Model

  • مقدمه
  • معرفی اینترفیس INotifyDataErrorInfo
  • پیاده سازی کردن اینترفیس INotifyDataErrorInfo در یک Base Class
  • نوشتن تست های مربوط به Validation برای پروپرتی FirstName
  • استفاده کردن از Data Annotation ها
  • اعتبار سنجی کردن مقدار مربوط به پروپرتی FirstName با استفاده از Data Annotation ها
  • اضافه کردن پروپرتی IsValid به ModelWrapper
  • استفاده کردن از پروپرتی IsValid برای فعال کردن دکمه Save
  • اعتبار سنجی کردن کلاس FriendWrapper به صورت کامل
  • پیاده سازی کردن پروپرتی IsValid برای FriendWrapper
  • استفاده کردن از اینترفیس IValidatableTrackingObject
  • پیاده سازی کردن IsValid و Complex- Property ها
  • پیاده سازی کردن IsValid و Collection-Property ها
  • اعتبارسنجی کردن ‌در سطح کلاس با اینترفیس IValidatableObject
  • پیاده سازی یک نیازمندی جدید: هر برنامه نویس باید یک آدرس ایمیل داشته باشد
  • Initialize کردن صحیح قبل از اعتبار سنجی
  • بررسی Validation Attribute ها و اینترفیس IValidatableObject
  • جمع‌بندی

فصل ششم: نشان دادن Validation Error ها

  • مقدمه
  • بررسی Validation Error ها در User Interface
  • پررنگ کردن فیلدهای غیر معتبر
  • نشان دادن خطاها در یک Tooltip
  • تعریف کردن یک Custom Error Template
  • حل کردن مشکل مربوط به CheckBox ها در نشان دادن خطا
  • استفاده از Error Template برای DataGrid
  • نشان دادن ارورها در سلول های DataGrid
  • جلوگیری کردن از Validation برای Binding های خاص
  • رنگی کردن Tab Header
  • جمع بندی

فصل هفتم: تولید کردن Model-wrapper ها با استفاده از T4

  • مقدمه
  • مباحث اولیه در استفاده از T4
  • اضافه کردن یک T4 Template برای تولید کردن Model-wrapper ها
  • نصب کردن یک Extension برای T4 Syntax Highlighting
  • ایجاد کردن یک کلاس Wrapper برای هر Model Class
  • ایجاد کردن یک فایل جداگانه به ازای هر Model-wrapper
  • ایجاد کردن Using ها و Namespace ها و Constructor ها
  • ایجاد کردن Simple Property ها
  • پشتیبانی کردن از Generic Type ها از قبیل Nullable
  • ایجاد کردن Complex Property ها
  • ایجاد کردن Collection- Property ها
  • Initialize کردن Complex Property ها
  • Initialize کردن Collection Property ها
  • ایجاد کردن Validation Logic در Partial Class ها
  • نسخه نهایی برنامه FriendStorage
  • جمع بندی دوره آموزشی

نقد و بررسی‌ها

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

اولین کسی باشید که دیدگاهی می نویسد “آموزش ام وی وی ام (MVVM) پیشرفته و پروژه محور در WPF”

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

دسته های محصولات

افزودن به سبد خرید