آموزش 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

نمایش نظرات

Pluralsight (پلورال سایت)

Pluralsight یکی از پرطرفدارترین پلتفرم‌های آموزش آنلاین است که به میلیون‌ها کاربر در سراسر جهان کمک می‌کند تا مهارت‌های خود را توسعه دهند و به روز رسانی کنند. این پلتفرم دوره‌های آموزشی در زمینه‌های فناوری اطلاعات، توسعه نرم‌افزار، طراحی وب، مدیریت پروژه، و موضوعات مختلف دیگر را ارائه می‌دهد.

یکی از ویژگی‌های برجسته Pluralsight، محتوای بروز و با کیفیت آموزشی آن است. این پلتفرم با همکاری با توسعه‌دهندگان و کارشناسان معتبر، دوره‌هایی را ارائه می‌دهد که با توجه به تغییرات روزافزون در صنعت فناوری، کاربران را در جریان آخرین مفاهیم و تکنولوژی‌ها نگه می‌دارد. این امر به کاربران این اطمینان را می‌دهد که دوره‌هایی که در Pluralsight می‌پذیرند، با جدیدترین دانش‌ها و تجارب به روز شده‌اند.

آموزش 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

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