آموزش WPF و MVVM: درمان پیشرفته مدل

WPF and MVVM: Advanced Model Treatment

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیویی برای نمایش وجود ندارد.
توضیحات دوره: در این دوره ، شما می آموزید که چگونه برای چندین سناریو از Model-wrappers در برنامه MVVM خود استفاده کنید: برای برجسته کردن زمینه های تغییر یافته ، برای برجسته کردن زمینه های نامعتبر ، برای نمایش خطاهای اعتبار سنجی ، برای فعال کردن دکمه ذخیره فقط در صورت تغییر ، و غیره در بسیاری از معماری های مدرن ، برنامه مشتری شما فقط مدل های ساده را از سرور دریافت می کند. این مدل ها معمولاً منطقی را که در برنامه شما لازم است ندارند. اگر مدل تغییر کند یا نه ، از قبل با اطلاعات از دست رفته شروع می شود. بدون این اطلاعات ، نمی توانید دکمه ذخیره را فعال یا غیرفعال کنید بر این اساس اگر کاربر مدل را تغییر داده باشد یا خیر. این فقط یک مشکل است که توسط مدل پیچشی قدرتمندی که ما در این دوره ایجاد می کنیم ، حل می شود. این مدل های بسته بندی شامل ویژگی های معمول شما در برنامه شما هستند: تغییر اعلان ، تغییر ردیابی و اعتبار سنجی. شما می توانید با ساخت Test Driven Development (TDD) نحوه ساخت این مدل های بسته بندی را بیاموزید. و ، چون این دوره در مورد WPF و MVVM است ، شما می آموزید که چگونه از Model-wrappers در برنامه MVVM خود استفاده کنید. شما می آموزید که چگونه زمینه های تغییر یافته را با رنگ پس زمینه متفاوت برجسته کنید ، چگونه مقدار اصلی یک فیلد تغییر یافته را در نوار ابزار برجسته کنید ، چگونه زمینه های نامعتبر را برجسته کنید ، چگونه خطاهای اعتبارسنجی را نشان دهید ، چگونه فقط در صورت وجود دکمه ذخیره را فعال کنید تغییرات ، نحوه بررسی تغییرات هنگام بستن برگه یا حتی برنامه ، نحوه تنظیم مجدد مدل به حالت اولیه و موارد دیگر. در طول این دوره ، شما می آموزید که چگونه یک برنامه WPF مبتنی بر MVVM به نام FriendStorage را با تمام این قابلیت ها گسترش دهید.

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

مقدمه Introduction

  • مقدمه Introduction

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

  • چرا خدمات از POCO استفاده می کنند؟ Why Are Services Using POCOs?

  • چالش های POCOs در مشتری Challenges with POCOs in the Client

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

  • چالش های POCOs در FriendStorage Challenges with POCOs in FriendStorage

  • تسلط بر POCO ها در ViewModel Mastering POCOs in a ViewModel

  • تسلط بر POCO ها در مدل بسته بندی Mastering POCOs in a Model-wrapper

  • خلاصه Summary

اطلاع رسانی درباره تغییرات مدل Notifying About Model Changes

  • مقدمه Introduction

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

  • ویژگی های Model ساده را تنظیم و دریافت کنید Set and Get Simple Model-properties

  • درباره تغییرات خصوصیات ساده اطلاع دهید Notify About Changes of Simple Properties

  • Refactor منطق مشترک را به یک کلاس پایه تبدیل کنید Refactor Common Logic into a Base-class

  • برای تنظیم و دریافت مقادیر ویژگی از Reflection استفاده کنید Use Reflection to Set and Get Property-values

  • درباره تغییرات خصوصیات مختلط اطلاع دهید Notify About Changes of Complex Properties

  • درباره تغییرات خصوصیات مجموعه اطلاع دهید Notify About Changes of Collection-properties

  • مجموعه Wrapper را ابتدا شروع کنید Initialize the Wrapper-collection

  • بسته بندی کننده و مجموعه مدل را همگام سازی کنید Keep the Wrapper- and the Model-collection in Sync

  • FriendWrapper را در FriendStorage ادغام کنید Integrate the FriendWrapper into FriendStorage

  • خلاصه Summary

پیگیری تغییرات مدل Tracking Model Changes

  • مقدمه Introduction

  • ویژگی های ساده را ردیابی کنید Track Simple Properties

  • ارزش اصلی یک ملک ساده را بدست آورید Get the Original Value of a Simple Property

  • تغییر حالت یک ویژگی ساده را بدست آورید Get the Changed-state of a Simple Property

  • با رهنمودهای C # 6.0 ، کد رهگیری را دوباره عیب یابی کنید Refactor the Tracking Code with C# 6.0 Features

  • تغییر وضعیت FriendWrapper را دریافت کنید Get the Changed-state of the FriendWrapper

  • برای خصوصیات ساده تغییرات را بپذیرید Accept Changes for Simple Properties

  • رد کردن تغییرات برای ویژگیهای ساده Reject Changes for Simple Properties

  • خواص مجتمع را ردیابی کنید Track Complex Properties

  • خواص مجموعه را ردیابی کنید Track Collection-properties

  • از ChangeTrackingCollection در FriendWrapper استفاده کنید Use the ChangeTrackingCollection in the FriendWrapper

  • Collection-sync را در ModelWrapper برطرف کنید Fix the Collection-sync in the ModelWrapper

  • موارد استفاده در پیگیری تغییر در FriendStorage The Change Tracking Use Cases in FriendStorage

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

  • FriendStorage: هنگام بستن برگه ، تغییرات را بررسی کنید FriendStorage: Check for Changes When Closing a Tab

  • FriendStorage: تنظیم مجدد دوست به حالت اولیه خود FriendStorage: Reset the Friend to Its Original State

  • خلاصه Summary

نمایش تغییرات مدل Displaying Model Changes

  • مقدمه Introduction

  • نمایش تغییرات در TextBox Display Changes in the TextBox

  • منطق Refactor به یک سبک متنی TextBox مشترک Refactor Logic into a Common TextBox Style

  • خواص ChangeBehavior را به صورت پویا پیوند دهید Bind the ChangeBehavior-properties Dynamically

  • تغییرات را در CheckBox نمایش دهید Display Changes in the CheckBox

  • برای نمایش تغییرات یک سبک پایه ایجاد کنید Create a Base Style to Display Changes

  • نمایش تغییرات در DatePicker Display Changes in the DatePicker

  • تبدیل ارزش اصلی در تغییر تغییر Original Value Conversion in the ChangeBehavior

  • مقدار اصلی DatePicker را تبدیل کنید Convert the Original Value of the DatePicker

  • مبدل مقدار اصلی را به سبکی تنظیم کنید Set the Original Value Converter in a Style

  • نمایش تغییرات در ComboBox Display Changes in the ComboBox

  • مقدار اصلی ComboBox را تبدیل کنید Convert the Original Value of the ComboBox

  • نمایش تغییرات در DataGrid Display Changes in the DataGrid

  • سبک های عنصر را به صورت پویا ایجاد کنید Create the Element Styles Dynamically

  • موارد اصلی اضافه شده و حذف شده Master Added and Removed Items

  • نمایش تغییرات در سربرگ Tab Display Changes in the Tab-header

  • خاتمه برنامه FriendStorage را لغو کنید Cancel the Closing of the FriendStorage-application

  • خلاصه Summary

اعتبارسنجی مدل Validating the Model

  • مقدمه Introduction

  • رابط INotifyDataErrorInfo The Interface INotifyDataErrorInfo

  • INotifyDataErrorInfo را در یک کلاس Base پیاده سازی کنید Implement INotifyDataErrorInfo in a Base Class

  • تست های اعتبار سنجی را برای ویژگی FirstName اضافه کنید Add Validation-tests for the FirstName-property

  • با استفاده از حاشیه نویسی داده ها Using Data Annotations

  • ویژگی FirstName را با حاشیه نویسی داده تأیید کنید Validate the FirstName-property with Data Annotations

  • خاصیت IsValid را به ModelWrapper اضافه کنید Add an IsValid-property to the ModelWrapper

  • برای فعال کردن دکمه ذخیره از ویژگی IsValid استفاده کنید Use the IsValid-property to Enable the Save-button

  • اعتبار کامل FriendWrapper را تأیید کنید Validate the Full FriendWrapper

  • خاصیت IsValid از FriendWrapper The IsValid-property of the FriendWrapper

  • رابط IValidatableTrackingObject را اضافه کنید Add the IValidatableTrackingObject-interface

  • خواص IsValid و Complex است IsValid and Complex-properties

  • IsValid و خواص مجموعه IsValid and Collection-properties

  • اعتبار سنجی در سطح کلاس با IValidatableObject Validate on Class-level with IValidatableObject

  • هر توسعه دهنده ای باید یک ایمیل داشته باشد Every Developer Should Have an Email

  • قبل از اعتبار سنجی به درستی مقدار دهی کنید Initialize Correctly Before Validation

  • ویژگی های اعتبار سنجی و IValidatableObject Validation Attributes and IValidatableObject

  • خلاصه Summary

نمایش خطاهای اعتبار سنجی Displaying Validation Errors

  • مقدمه Introduction

  • خطاهای اعتبار سنجی در رابط کاربری Validation Errors in the User Interface

  • قسمتهای نامعتبر را برجسته کنید Highlight Invalid Fields

  • خطا را در Tooltip نمایش دهید Display the Error in the Tooltip

  • الگوی خطای سفارشی را تعریف کنید Define a Custom Error Template

  • طرح خطا را برای CheckBox برطرف کنید Fix the Error Layout for the CheckBox

  • برای DataGrid از الگوی خطا استفاده کنید Use the Error Template for the DataGrid

  • نمایش خطاها در سلولهای شبکه داده Display Errors in Data Grid Cells

  • از اعتبار سنجی برای صحافی های خاص خودداری کنید Avoid Validation for Specific Bindings

  • سربرگ Tab را برجسته کنید Highlight the Tab-header

  • خلاصه Summary

تولید بسته بندی مدل با T4 Generating Model-wrappers with T4

  • مقدمه Introduction

  • مبانی T4 T4 Basics

  • الگوی T4 را برای تولید مدل های بسته بندی اضافه کنید Add a T4 Template to Generate the Model-wrappers

  • یک برنامه افزودنی برای برجسته سازی نحو T4 نصب کنید Install an Extension for T4 Syntax Highlighting

  • برای هر مدل کلاس Wrapper ایجاد کنید Generate a Wrapper-class for Each Model

  • در هر مدل بسته بندی یک فایل ایجاد کنید Create One File per Model-wrapper

  • استفاده ، فضای نام و سازنده ایجاد کنید Generate Usings, Namespace, and Constructor

  • ایجاد خصوصیات ساده Generate Simple Properties

  • از انواع عمومی مانند Nullable پشتیبانی کنید Support Generic Types like Nullable

  • خواص مختلط ایجاد کنید Generate Complex-properties

  • خواص مجموعه را ایجاد کنید Generate Collection-properties

  • خصوصیات مختلط را ابتدا آغاز کنید Initialize Complex-properties

  • خواص مجموعه را اولیه کنید Initialize Collection-properties

  • منطق اعتبار سنجی را در کلاسهای جزئی ایجاد کنید Create Validation Logic in Partial Classes

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

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

نمایش نظرات

آموزش WPF و MVVM: درمان پیشرفته مدل
جزییات دوره
6h 54m
101
Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
(آخرین آپدیت)
251
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Thomas Claudius Huber Thomas Claudius Huber

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