Перейти к основному содержимому
Версия: 11.0.0

Создание Model (рус: Модели)

Пока мы создали базовую view, которая еще ничего не делает.

На этой странице вы создадите model, часть паттерна MVVM, используемого в приложении.

В реальном MVVM-приложении, модель обрабатывает все события, за исключением специфичной для приложения, они обрабатываются во view model или view. Модель включает хранилище данных, любые сервисы для работы с ними, а также любые другие сервисы, которые потребуются приложению (например почта).

В данном руководстве, вы создадите имитацию базы данных и сервиса для доступа к ней. Они заменят часть model приложения.

Data Model (рус: Модель данных)

Модель данных содержит сущности данных (так они бы выглядели, если бы хранились, к примеру, в базе данных).

В данном руководстве, вы создадите одну сущность для модели данных. Для ее создания, выполните следующие действия:

  • Остановите приложение, если оно запущено.
  • Внутри проекта, найдите папку Models и переименуйте ее на 'DataModel'.
  • В эту папку добавьте новый класс, назовите его 'ToDoItem'.
  • Измените код класс, как показано ниже:
using System;

namespace ToDoList.DataModel
{
public class ToDoItem
{
public string Description { get; set; } = String.Empty;
public bool IsChecked { get; set; }
}
}

Создание фейкового сервиса данных

В реальном приложениии, вы могли использовать базу данных SQL и написать сервис с использование Microsoft Entity Framework для записи и чтения данных. Но это выходит за рамки данного руководства! Поэтому, для тестирования приложения, мы создадим фейковый сервис данных, который будет имитировать базу данных, но в реальности будет использовать массив в памятию

Для добавления фейкового сервиса базы данных, выполите следующие действия:

  • Создайте новую папку проекта с названием 'Services'.
  • В созданную папку, добавьте класс с названием 'ToDoListService'.
  • Добавьте код класса, как показано ниже:
using System.Collections.Generic;
using ToDoList.DataModel;

namespace ToDoList.Services
{
public class ToDoListService
{
public IEnumerable<ToDoItem> GetItems() => new[]
{
new ToDoItem { Description = "Walk the dog" },
new ToDoItem { Description = "Buy some milk" },
new ToDoItem { Description = "Learn Avalonia", IsChecked = true },
};
}
}

Теперь создание модели завершено, На следубщей странице вы узнаете, как добавить view model в приложение, чтобы завершить внедрение паттерна MVVM.