Table of contents
Open Table of contents
Въведение
Цел на упражнението
Запознаване с езика C# и средата Visual Studio, която ще бъде използвана в следващите упражнения.
Задачите в упражнението изграждат:
- Малка студентска информационна система
В това упражнение:
- Конзолно приложение, илюстриращо MVVM структурата
- Имплементация на следните компоненти:
- Изброен тип (Enum) за различните потребители
- Клас
User(Модел на данните) - Клас
UserView(Представяне на данните) - Клас
UserViewModel(Свързване на модела с изгледа)
Очакван резултат
След изпълнението на задачите ще можем да визуализираме информация за потребител чрез MVVM структура.
Задачи за домашна работа
- Добавяне на допълнителни данни за потребителите (Факултетен номер, имейл)
- Разширяване на визуализацията на потребителските данни
- Имплементация на прост механизъм за криптиране/декриптиране на парола в getter/setter на
Password
Важни концепции
Създаване на проект в Visual Studio
- Отворете Visual Studio 2022
- Изберете “Create a new project”
- Изберете C# → Windows → Console → Console App
- Задайте име на проекта Welcome и именувайте
SolutionкатоPS_<номер_на_група>_<име>(напр.PS_74_Toni) - Изберете “Do not use top-level statements”, за да улесним работата с namespaces
Структура на проекта
Създаване на папки
- В
Solution Explorer→ десен бутон върху проекта →Add→New Folder - Създайте следните папки:
ModelViewViewModelOthers
Имплементация
Създаване на изброен тип (Enum)
- В папката
Others→ Add → New Item → Code File - Наименувайте файла UserRolesEnum.cs
- Добавете следния код:
namespace Welcome.Others
{
public enum UserRolesEnum
{
ANONYMOUS,
ADMIN,
INSPECTOR,
PROFESSOR,
STUDENT
}
}
Създаване на клас User
- В папката
Model→ Add → Class - Наименувайте файла User.cs
- Добавете следните свойства:
namespace Welcome.Model
{
public class User
{
public string Names { get; set; }
public string Password { get; set; }
public UserRolesEnum Role { get; set; }
}
}
Създаване на клас UserViewModel
- В папката
ViewModel→ Add → Class - Наименувайте файла UserViewModel.cs
- Добавете следния код:
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
- В папката
View→ Add → Class - Наименувайте файла UserView.cs
- Добавете следния код:
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}");
}
}
}
Свързване на кода
- Във
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 принципите и визуализира информация за потребителите.
Бележка: Следващи упражнения ще разширят функционалността, добавяйки графичен интерфейс и по-сложна бизнес логика.