प्रौद्योगिकी साझेदारी

C# प्रोग्रामिंगं शिक्षन्तु : सामान्यरूपरेखाशिक्षणं (1)——WPF इत्यस्य अनुप्रयोगं ज्ञात्वा अवगच्छन्तु

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

MVVM (Model-View-ViewModel) पैटर्न् इत्यनेन सह संयुक्तं WPF (Windows Presentation Foundation) इति शिक्षणं आरम्भकानां कृते किञ्चित् चुनौतीपूर्णं भवितुम् अर्हति, परन्तु एतत् अतीव शक्तिशाली संयोजनम् अस्ति यत् भवन्तं परिपालनीयं, स्केल-करणीयं, परीक्षणं कर्तुं सुलभं च एप्-निर्माणे सहायकं भवितुम् अर्हति WPF MVVM प्रतिमानं कथं ज्ञातव्यमिति परिचयस्य सरलः सुलभः च मार्गः निम्नलिखितम् अस्ति ।

1. मूलभूतसंकल्पनाः अवगच्छन्तु

WPF : WPF विण्डोज-क्लायन्ट्-अनुप्रयोगानाम् विकासाय Microsoft-रूपरेखा अस्ति । एतत् समृद्धानि UI तत्त्वानि शैल्यानि च, तथैव शक्तिशालीं दत्तांशबन्धनं एनिमेशनसमर्थनं च प्रदाति ।

एमवीवीएम: MVVM एकः वास्तुशिल्पप्रतिमानः अस्ति यः एकं अनुप्रयोगं मुख्यत्रयेषु भागेषु विभजति:

  • प्रतिकृति: आँकडानां व्यावसायिकतर्कस्य च प्रतिनिधित्वं करोति।
  • दृश्यं: दत्तांशप्रदर्शनार्थं उपयोक्तृ-अन्तरफलकं ।
  • ViewModel इति: Model तथा View इत्येतयोः मध्ये सेतुरूपेण कार्यं करोति, UI तर्कस्य व्यावसायिकतर्कस्य च पृथक्करणस्य निबन्धनस्य उत्तरदायी ।

 

2. MVVM किमर्थं चिन्वन्तु ?

  • वियुग्मनम्: Model, View, ViewModel च अत्यन्तं वियुग्मिताः सन्ति, येन कोडस्य परिपालनं परीक्षणं च सुलभं भवति ।
  • पुनरुपयोग्यता: ViewModel इत्यस्य पुनः उपयोगः View इत्यस्मात् स्वतन्त्रतया कर्तुं शक्यते ।
  • परीक्षणं सुलभम्: यतः ViewModel इत्यत्र UI सम्बद्धः कोऽपि कोडः नास्ति, अतः UI इत्यस्मात् स्वतन्त्रतया तस्य परीक्षणं कर्तुं शक्यते ।

3. शिक्षणपदार्थाः

३.१ मूलभूतवातावरणस्य निर्माणं कुर्वन्तु
  • Visual Studio संस्थाप्य WPF समर्थयति इति परियोजना टेम्पलेट् चिनोतु ।
  • नूतनं WPF परियोजनां रचयन्तु।
3.2 Model इत्यस्य अवगमनं कार्यान्वयनञ्च
  • सरलं Model वर्गं रचयन्तु, यथा aPersonclass, इत्यादिविशेषणयुक्तम्NameतथाAge
    1. public class Person
    2. {
    3. public string Name { get; set; }
    4. public int Age { get; set; }
    5. }

  • 3.3 ViewModel रचयन्तु
  • ViewModel इत्यत्र प्रायः Model इत्यस्य सन्दर्भः भवति, तथैव UI-सञ्चालनानां कृते गुणाः आदेशाः च सन्ति ।
  • उपयुञ्जताम्‌INotifyPropertyChangedUI गुणपरिवर्तनं सूचयितुं अन्तरफलकम् ।
    1. using System.ComponentModel;
    2. public class PersonViewModel : INotifyPropertyChanged
    3. {
    4. private Person _person;
    5. public event PropertyChangedEventHandler PropertyChanged;
    6. public string Name
    7. {
    8. get { return _person.Name; }
    9. set
    10. {
    11. _person.Name = value;
    12. OnPropertyChanged(nameof(Name));
    13. }
    14. }
    15. // 实现INotifyPropertyChanged接口
    16. protected virtual void OnPropertyChanged(string propertyName)
    17. {
    18. PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    19. }
    20. // 构造函数等
    21. }

3.4 View इत्यस्य ViewModel मध्ये बाइण्ड् कुर्वन्तु

  • XAML इत्यस्मिन् उपयोगं कुर्वन्तुDataContext ViewModel इत्यनेन सह View इत्यस्य सङ्गतिं कुर्वन्तु । ViewModel तः दत्तांशं प्रदर्शयितुं data binding इत्यस्य उपयोगं कुर्वन्तु ।
    1. <Window x:Class="YourNamespace.MainWindow"
    2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    4. Title="MainWindow" Height="350" Width="525">
    5. <Grid>
    6. <TextBox Text="{Binding Name, UpdateSourceTrigger=PropertyChanged}" />
    7. </Grid>
    8. </Window>

    कोड-पृष्ठतः सेट् कुर्वन्तुDataContext

    1. public MainWindow()
    2. {
    3. InitializeComponent();
    4. this.DataContext = new PersonViewModel();
    5. }
३.५ शिक्षणं अभ्यासश्च
  • अधिकं जटिलं ViewModel तर्कं कार्यान्वितुं प्रयतस्व, यथा दत्तांशसत्यापनं, आदेशप्रक्रियाकरणम् इत्यादयः ।
  • विकासप्रक्रियायाः सरलीकरणाय MVVM-रूपरेखायाः (यथा Prism, Caliburn.Micro इत्यादीनां) उपयोगः कथं करणीयः इति ज्ञातव्यम् ।
  • भवतः अवगमनं गभीरं कर्तुं पाठ्यक्रमं पश्यन्तु, दस्तावेजीकरणं पठन्तु, कोड उदाहरणानि च पश्यन्तु ।

4. सारांशः

WPF MVVM प्रतिमानं ज्ञातुं समयः अभ्यासः च भवति । प्रथमं जटिलं प्रतीयते, परन्तु यथा यथा भवन्तः एतासां अवधारणानां गहनतया अवगमनं प्राप्नुवन्ति तथा तथा उच्चगुणवत्तायुक्तानि WPF अनुप्रयोगाः अधिकतया निर्मातुं शक्नुवन्ति । स्मर्यतां यत् वास्तविकपरियोजनानां माध्यमेन हस्तगतं कृत्वा स्वज्ञानं सुदृढं कुर्वन्तु।