آموزش MVVM در WPF و تست کردن ViewModel ها

تعداد ویدئو 89
زمان دوره 05:22:28
مترجم مرتضی گیتی
دوبلر مرتضی گیتی
سایت منتشر کننده پلورال سایت

آموزش پیاده سازی MVVM در دبلیو پی اف WPF و Unit Test کردن ViewModel ها یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی ترمیم پیشرفته مدل در WPF و MVVM است که با نام اصلی WPF and MVVM: Test Driven Development of ViewModels از شرکت Pluralsight منتشر شده است.

MVVM چیست؟

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

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

mvvm-pattern

جالب است بدانید که خود مایکروسافت از MVVM برای تولید نرم افزارهایی شبیه Expression Blend استفاده کرده است. در رابطه با الگوی طراحی MVVM می توانید از آموزش الگوی MVVM پیشرفته در دبلیو پی اف WPF و بسته ی آموزش ویدئویی ساخت یک Enterprise Application با WPF و MVVM و Entity Framework استفاده کنید.

Unit Testing چیست؟

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

Test-Driven-Development

برای مثال، ممکن است یک گروه از تست ها درستی کار یک الگوریتم پیچیده را کنترل کنند. متد TDD یا Test–Driven Development که اساس توسعه ی یک نرم افزار را بر اساس تست ها قرار میدهد، یک مثال بسیار مناسب از اهمیت Testing در توسعه ی نرم افزار است. در رابطه با مبحث Unit Testing توصیه می کنیم که از آموزش تست واحد Unit Testing برای برنامه نویسان سی شارپ استفاده کنید.

بعضی از مزیت های Unit Testing عبارت اند از:

  • اطمینان از صحت کار نرم افزار
  • کمک به ساده تر شدن فرآیند ریفکتورینگ
  • کمک در مستندسازی نرم افزار

سرفصل مطالب آموزش ویدئویی MVVM در WPF و Unit Test کردن ViewModel ها

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

  • مقدمه
  • سرفصل مطالب
  • بررسی الگوی MVVM
  • مزایای استفاده از الگوی MVVM
  • مزایای استفاده از Unit Testing
  • بررسی برنامه FriendStorage
  • جمع بندی

فصل دوم: شروع به کار با Unit Testing

  • مقدمه
  • مفاهیم اولیه در رابطه با Unit Testing
  • بررسی ویژگی های Unit Test های موثر و یا F.I.R.S.T
  • معرفی فریم ورک های Unit Testing برای دات نت فریم ورک
  • نوشتن و اجرا کردن یک Unit Test با فریم ورک MSTest
  • نوشتن و اجرا کردن یک Unit Test با فریم ورک xUnit
  • نوشتن تست های پارامتری و یا Parameterized Test با استفاده از فریم ورک xUnit
  • بررسی ساختار مناسب برای Unit Test ها
  • اضافه کردن پروژه تست به برنامه
  • بررسی مباحث مربوط به Test Driven Development و یا توسعه تست محور
  • استفاده کردن از Spike ها در Test Driven Development
  • تکنیک Spike در مکانیزم Navigation از برنامه
  • تست کردن متد Load از NavigationViewModel
  • جمع بندی

فصل سوم: نوشتن ViewModel های قابل تست کردن

  • مقدمه
  • وابستگی ها و یا Dependency های یک ViewModel
  • استفاده از اینترفیس ها به منظور Abstract کردن Dependency ها
  • معرفی INavigationDataProvider
  • نوشتن یک Unit Test با NavigationDataProviderMock
  • پیاده سازی NavigationDataProvider
  • بهینه سازی کد برای افزایش کارایی
  • تست کردن متد Load از MainViewModel
  • بررسی مباحث مربوط به تزریق وابستگی و یا Dependency Injection
  • استفاده از Autofac برای تزریق کردن وابستگی ها به درون برنامه
  • جمع بندی

فصل چهارم: انجام Mocking برای وابستگی ها با استفاده از Moq

  • مقدمه
  • ابزار Moq چیست
  • استفاده از ابزار Moq در تست ‌های NavigationViewModel
  • استفاده از ابزار Moq در تست‌ های MainViewModel
  • جمع بندی

فصل پنجم: تست کردن و پیاده سازی کردن مکانیزم Load کردن Friend ها

  • مقدمه
  • بررسی مکانیزم Load کردن Friend ها در برنامه
  • ایجاد کردن OpenFriendEditViewEvent
  • اضافه کردن NavigationItemViewModel
  • اضافه کردن IEventAggregator
  • تست کردن و منتشر کردن OpenFriendEditViewEvent
  • باز کردن یک تب جدید در MainViewModel
  • نوشتن تست مربوط به باز کردن تب جدید
  • پیاده سازی کد مربوط به باز کردن تب جدید
  • باز کردن فقط یک تب به ازای هر Friend
  • تست کردن رویداد PropertyChanged
  • باز کردن یک Friend در FriendEditViewModel
  • پیاده‌ سازی FriendEditViewModel
  • تنظیم کردن Autofac و اجرا کردن برنامه
  • جمع بندی

فصل ششم: بستن تب ها و ذخیره کردن یک Friend

  • مقدمه
  • بستن یک تب
  • فعال کردن و غیر فعال کردن دکمه Save
  • ردگیری تغییرات و یا مکانیزم Change Tracking در FriendWrapper
  • اجرا کردن رویداد CanExecuteChanged از SaveCommand
  • پیاده سازی SaveCommand برای ذخیره کردن Friend ها
  • منتشر کردن FriendSavedEvent پس از ذخیره کردن یک Friend
  • به روز رسانی Navigation پس از ذخیره کردن یک Friend
  • اجرا کردن رویداد PropertyChanged برای پروپرتی DisplayMember
  • جمع بندی

فصل هفتم: اضافه کردن یک Friend جدید

  • مقدمه
  • ایجاد کردن AddFriendCommand در MainViewModel
  • بررسی دقیق AddFriendCommand
  • تست کردن AddFriendCommand
  • پیاده‌ سازی AddFriendCommand
  • ریفکتور کردن MainViewModel
  • ایجاد کردن یک Friend جدید در FriendEditViewModel
  • اضافه کردن Friend ذخیره ‌شده به Navigation
  • جمع بندی

فصل نهم: حذف کردن یک Friend

  • مقدمه
  • فعال کردن و غیر فعال کردن دکمه Delete
  • اجرا کردن رویداد کردن CanExecuteChanged از DeleteCommand
  • پیاده سازی کردن DeleteCommand برای حذف کردن یک Friend
  • انتشار FriendDeletedEvent پس از حذف کردن یک Friend
  • به روز رسانی Navigation پس از حذف کردن یک Friend
  • بستن تب پس از حذف کردن یک Friend
  • جمع بندی

فصل نهم: کار کردن با Dialog ها در MVVM

  • مقدمه
  • چالش کار کردن با Dialog ها در ViewModel ها
  • اضافه کردن اینترفیس IMessageDialogService
  • نشان دادن یک Dialog در زمان حذف کردن یک Friend
  • انتشار رویداد FriendDeletedEvent
  • تست کردن Dialog Message
  • پیاده سازی کردن MessageDialogService
  • استفاده از یک Dialog سفارشی
  • جمع بندی

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

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

اولین کسی باشید که دیدگاهی می نویسد “آموزش MVVM در WPF و تست کردن ViewModel ها”

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

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

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