52. Avalonia UI Real World (Generic Refactoring)

Аватар автора
Ленинский Букварь
00:00 Проблема масштаба модели просмотра страниц действий • Класс состоит из 1470 строк кода, более 1000 из которых повторяются. • Повторяются действия: извлечение списка, добавление нового элемента, удаление и сохранение элемента. • Цель — создать универсальный класс для сокращения кода. 00:49 Начало оптимизации • Выбор файла с информацией для начала оптимизации. • Замена списка и создание элементов в универсальном классе. • Логика повторяется в каждом элементе списка. 01:26 Создание нового класса • Добавление нового класса в модель представления. • Переопределение базы viewmodel с использованием стандартной viewmodel. • Перенос элементов для работы со списком. 02:26 Универсализация свойств • Изменение свойств списка и выбранного элемента. • Создание универсального типа viewmodel. • Проблема с идентификатором выбранного элемента. 03:52 Создание интерфейса • Создание общедоступного интерфейса для элементов списка. • Реализация интерфейса в моделях представления. • Доступ к идентификатору через интерфейс. 06:45 Абстрагирование функций • Абстрагирование функции fetch для получения списка информации о файлах. • Передача команды funk в конструкторе для возврата наблюдаемой коллекции. • Обновление логики для работы с общим списком. 08:14 Сохранение состояния • Интеграция состояния сохранения в модели view. • Определение общих свойств и методов для унификации логики. • Копирование установленного состояния сохранения. 10:07 Добавление нового элемента • Создание метода «новый...

0/0


0/0

0/0

0/0

0/0