آموزش WPF و MVVM: توسعه آزمایشی ViewModels

WPF and MVVM: Test Driven Development of ViewModels

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیویی برای نمایش وجود ندارد.
توضیحات دوره: آزمایش ViewModels هنگام توسعه می تواند به شما در ایجاد برنامه های بهتر کمک کند. در این دوره ، شما می آموزید که چگونه از توسعه آزمون محور (TDD) برای ساخت ViewModels برنامه MVVM خود استفاده کنید. هنگام استفاده از الگوی MVVM ، منطق UI در ViewModels قرار می گیرد. یک مزیت اساسی چنین ViewModel قابل آزمایش بودن است. در این دوره ، WPF و MVVM: توسعه آزمایشی ViewModels ، با مشخصات آزمایش واحد در MVVM آشنا می شوید. نحوه ایجاد و اجرای تست های واحدی در Visual Studio با چارچوب محبوب تست xUnit و نحوه نوشتن ViewModels قابل آزمایش را با خارج کردن وابستگی های معمولی مانند منطق دسترسی به داده ها ، تجمع رویدادها ، گفتگوی مد و موارد دیگر ، خواهید فهمید. در مرحله بعدی ، به شما آموزش داده می شود که با استفاده از کتابخانه تمسخر ، Moq و همچنین تزریق وابستگی ها به ViewModels خود با استفاده از یک چارچوب تزریق وابستگی به نام Autofac ، هنگام اجرای برنامه خود ، این وابستگی ها را در آزمونهای واحد خود مسخره/جعلی کنید. سرانجام ، شما می توانید ViewModels را برای یک برنامه MVVM به نام FriendStorage از "کلاس خالی" به مرحله نهایی با استفاده از توسعه تست محور بسازید و آن را آزمایش کنید. با پایان این دوره ، خواهید فهمید که چگونه ViewModels خود را از طریق آزمایش توسعه می دهید تا برنامه های بهتر از همیشه ایجاد کنید.

سرفصل ها و درس ها

بررسی اجمالی دوره Course Overview

  • بررسی اجمالی دوره Course Overview

مقدمه Introduction

  • مقدمه Introduction

  • طرح کلی دوره Course Outline

  • الگوی MVVM The MVVM-pattern

  • مزایای MVVM Advantages of MVVM

  • مزایای تست واحد Advantages of Unit Testing

  • برنامه FriendStorage The FriendStorage-application

  • خلاصه Summary

شروع با تست واحد Getting Started with Unit Testing

  • مقدمه Introduction

  • مبانی تست واحد Unit Testing Basics

  • تست های واحد موثر F.I.R.S.T هستند Effective Unit Tests Are F.I.R.S.T.

  • چارچوب های محبوب تست واحد برای .NET Popular Unit Testing Frameworks for .NET

  • یک تست واحد را با MSTest بنویسید و اجرا کنید Write and Run a Unit Test with MSTest

  • یک تست واحد را با xUnit بنویسید و اجرا کنید Write and Run a Unit Test with xUnit

  • تست های پارامتر شده واحد با xUnit Parameterized Unit Tests with xUnit

  • ساختار خوب آزمون واحد Good Structure of a Unit Test

  • افزودن یک پروژه آزمایشی به FriendStorage Adding a Test-project to FriendStorage

  • مبانی توسعه مبتنی بر آزمون (TDD) Test Driven Development (TDD) Basics

  • استفاده از Spikes در TDD Using Spikes in TDD

  • افزایش ناوبری FriendStorage Spiking the Navigation of FriendStorage

  • آزمایش روش بارگذاری مدل NavigationViewModel Testing the Load-method of the NavigationViewModel

  • خلاصه Summary

نوشتن مدلهای قابل مشاهده Writing Testable ViewModels

  • مقدمه Introduction

  • وابستگی های یک ViewModel Dependencies of a ViewModel

  • وابستگی های دور با رابط ها Abstract Away Dependencies with Interfaces

  • رابط INavigationDataProvider را معرفی کنید Introduce the INavigationDataProvider-interface

  • تست های واحد را با NavigationDataProviderMock بنویسید Write Unit Tests with a NavigationDataProviderMock

  • تولید NavigationDataProvider را پیاده سازی کنید Implement the Production NavigationDataProvider

  • کد عملکرد را بهینه کنید Optimize the Code for Performance

  • روش MainViewModel را بارگذاری کنید Test the MainViewModel's Load-method

  • مبانی تزریق وابستگی Dependency Injection Basics

  • برای تزریق وابستگی ها در FriendStorage از Autofac استفاده کنید Use Autofac to Inject Dependencies in FriendStorage

  • خلاصه Summary

وابستگی های مسخره با Moq Mocking Dependencies with Moq

  • مقدمه Introduction

  • Moq چیست؟ What Is Moq?

  • از Moq در آزمایشات NavigationViewModel استفاده کنید Use Moq in the NavigationViewModel-tests

  • در آزمونهای MainViewModel از Moq استفاده کنید Use Moq in the MainViewModel-tests

  • خلاصه Summary

آزمایش و اجرای بارگذاری دوستان Testing and Implementing the Loading of Friends

  • مقدمه Introduction

  • نمای کلی بارگیری دوستان در FriendStorage Overview of Loading Friends in FriendStorage

  • OpenFriendEditViewEvent را ایجاد کنید Create the OpenFriendEditViewEvent

  • NavigationItemViewModel را اضافه کنید Add the NavigationItemViewModel

  • IEventAggregator را اضافه کنید Add the IEventAggregator

  • OpenFriendEditViewEvent را آزمایش و منتشر کنید Test and Publish the OpenFriendEditViewEvent

  • یک برگه در MainViewModel باز کنید Open a Tab in the MainViewModel

  • برای باز کردن برگه آزمون را بنویسید Write the Test to Open the Tab

  • منطق را برای باز کردن برگه پیاده سازی کنید Implement the Logic to Open the Tab

  • برای هر دوست فقط یک برگه باز کنید Open Just One Tab Per Friend

  • واقعه PropertyChanged را تست کنید Test the PropertyChanged-event

  • Friend را در FriendEditViewModel بارگیری کنید Load the Friend in the FriendEditViewModel

  • FriendEditViewModel را پیاده سازی کنید Implement the FriendEditViewModel

  • تنظیم Autofac و اجرای FriendStorage Adjust Autofac and Run FriendStorage

  • خلاصه Summary

بستن برگه ها و ذخیره یک دوست Closing Tabs and Saving a Friend

  • مقدمه Introduction

  • یک برگه را ببندید Close a Tab

  • دکمه ذخیره را فعال و غیرفعال کنید Enable and Disable the Save-button

  • پیگیری تغییرات در FriendWrapper Track Changes in a FriendWrapper

  • CanExecuteChanged-رویداد SaveCommand را بالا ببرید Raise the SaveCommand's CanExecuteChanged-event

  • SaveCommand را برای ذخیره یک دوست اجرا کنید Implement the SaveCommand to Save a Friend

  • بعد از ذخیره FriendSavedEvent را منتشر کنید Publish the FriendSavedEvent After Save

  • بعد از ذخیره ، Navigation را تازه کنید Refresh the Navigation After Save

  • رویداد PropertyChanged را برای ویژگی DisplayMember بالا ببرید Raise the PropertyChanged-event for the DisplayMember-property

  • خلاصه Summary

افزودن یک دوست جدید Adding a New Friend

  • مقدمه Introduction

  • AddFriendCommand را در MainViewModel ایجاد کنید Create the AddFriendCommand in the MainViewModel

  • برنامه برای AddFriendCommand The Plan for the AddFriendCommand

  • AddFriendCommand را تست کنید Test the AddFriendCommand

  • AddFriendCommand را پیاده سازی کنید Implement the AddFriendCommand

  • Refactor the MainViewModel Refactor the MainViewModel

  • یک دوست جدید در FriendEditViewModel ایجاد کنید Create a New Friend in the FriendEditViewModel

  • Friend Saved را به Navigation اضافه کنید Add the Saved Friend to the Navigation

  • خلاصه Summary

در حال حذف یک دوست موجود Deleting an Existing Friend

  • مقدمه Introduction

  • دکمه Delete را فعال و غیرفعال کنید Enable and Disable the Delete-button

  • CanExecuteChanged-رویداد DeleteCommand را بالا ببرید Raise the DeleteCommand's CanExecuteChanged-event

  • DeleteCommand را برای حذف یک دوست اجرا کنید Implement the DeleteCommand to Delete a Friend

  • بعد از حذف FriendDeletedEvent را منتشر کنید Publish the FriendDeletedEvent After Delete

  • بعد از حذف ، Navigation را تازه کنید Refresh the Navigation After Delete

  • بعد از حذف برگه را ببندید Close the Tab After Delete

  • خلاصه Summary

تعامل با گفتگوها در MVVM Interacting with Dialogs in MVVM

  • مقدمه Introduction

  • مشکل گفتگوها در ViewModel The Problem with Dialogs in the ViewModel

  • رابط IMessageDialogService را معرفی کنید Introduce the IMessageDialogService-interface

  • هنگام پاک کردن دوست ، گفتگوی خود را نشان دهید Display a Dialog When Deleting a Friend

  • FriendDeletedEvent را منتشر کنید Publish the FriendDeletedEvent

  • پیام گفتگوی را امتحان کنید Test the Dialog Message

  • MessageDialogService را پیاده سازی کنید Implement the MessageDialogService

  • از گفتگوی سفارشی استفاده کنید Use a Custom Dialog

  • خلاصه دوره Course Summary

نمایش نظرات

آموزش WPF و MVVM: توسعه آزمایشی ViewModels
جزییات دوره
5h 22m
89
Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
(آخرین آپدیت)
136
4.8 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Thomas Claudius Huber Thomas Claudius Huber

مهندس نرم افزار و نویسنده دوره ویدیویی