Упражнение №1 - Visual Studio, C# и MVVM | Програмни Среди
Прескочи до съдържанието
Упражнение №1 - Visual Studio, C# и MVVM
Published:

Упражнение №1 - Visual Studio, C# и MVVM

Table of contents

Open Table of contents

Въведение

Цел на упражнението

Запознаване с езика C# и средата Visual Studio, която ще бъде използвана в следващите упражнения.

Задачите в упражнението изграждат:

  • Малка студентска информационна система

В това упражнение:

  • Конзолно приложение, илюстриращо MVVM структурата
  • Имплементация на следните компоненти:
    • Изброен тип (Enum) за различните потребители
    • Клас User (Модел на данните)
    • Клас UserView (Представяне на данните)
    • Клас UserViewModel (Свързване на модела с изгледа)

Очакван резултат

След изпълнението на задачите ще можем да визуализираме информация за потребител чрез MVVM структура.

Задачи за домашна работа

  1. Добавяне на допълнителни данни за потребителите (Факултетен номер, имейл)
  2. Разширяване на визуализацията на потребителските данни
  3. Имплементация на прост механизъм за криптиране/декриптиране на парола в getter/setter на Password

Важни концепции

Създаване на проект в Visual Studio

  1. Отворете Visual Studio 2022
  2. Изберете “Create a new project”
  3. Изберете C# → Windows → Console → Console App
  4. Задайте име на проекта Welcome и именувайте Solution като PS_<номер_на_група>_<име> (напр. PS_74_Toni)
  5. Изберете “Do not use top-level statements”, за да улесним работата с namespaces

Структура на проекта

Създаване на папки

  1. В Solution Explorerдесен бутон върху проектаAddNew Folder
  2. Създайте следните папки:
    • Model
    • View
    • ViewModel
    • Others

Имплементация

Създаване на изброен тип (Enum)

  1. В папката OthersAddNew ItemCode File
  2. Наименувайте файла UserRolesEnum.cs
  3. Добавете следния код:
namespace Welcome.Others
{
    public enum UserRolesEnum
    {
        ANONYMOUS,
        ADMIN,
        INSPECTOR,
        PROFESSOR,
        STUDENT
    }
}

Създаване на клас User

  1. В папката ModelAddClass
  2. Наименувайте файла User.cs
  3. Добавете следните свойства:
namespace Welcome.Model
{
    public class User
    {
        public string Names { get; set; }
        public string Password { get; set; }
        public UserRolesEnum Role { get; set; }
    }
}

Създаване на клас UserViewModel

  1. В папката ViewModelAddClass
  2. Наименувайте файла UserViewModel.cs
  3. Добавете следния код:
namespace Welcome.ViewModel
{
    public class UserViewModel
    {
        private User _user;
        
        public UserViewModel(User user)
        {
            _user = user;
        }

        public string Names => _user.Names;
        public string Role => _user.Role.ToString();
    }
}

Създаване на клас UserView

  1. В папката ViewAddClass
  2. Наименувайте файла UserView.cs
  3. Добавете следния код:
namespace Welcome.View
{
    public class UserView
    {
        private UserViewModel _viewModel;
        
        public UserView(UserViewModel viewModel)
        {
            _viewModel = viewModel;
        }
        
        public void Display()
        {
            Console.WriteLine("Welcome");
            Console.WriteLine($"User: {_viewModel.Names}");
            Console.WriteLine($"Role: {_viewModel.Role}");
        }
    }
}

Свързване на кода

  1. Във Program.cs добавете следния код:
using Welcome.Model;
using Welcome.ViewModel;
using Welcome.View;
using Welcome.Others;

class Program
{
    static void Main()
    {
        User user = new User { Names = "Ivan Petrov", Password = "1234", Role = UserRolesEnum.STUDENT };
        UserViewModel viewModel = new UserViewModel(user);
        UserView view = new UserView(viewModel);
        view.Display();
        
        Console.ReadKey();
    }
}

Заключение

След изпълнението на тези стъпки ще имате работещо конзолно приложение, което следва MVVM принципите и визуализира информация за потребителите.

Бележка: Следващи упражнения ще разширят функционалността, добавяйки графичен интерфейс и по-сложна бизнес логика.