52. Avalonia UI Real World Generic Refactoring

52. Avalonia UI Real World Generic Refactoring

Видео: 52. Avalonia UI Real World Generic Refactoring

RuTube

Ленинский Букварь

Опубликовано: 21.04.2026 в 00:00:00 | Продолжительность: 00:27:27

00:00 Проблема масштаба модели просмотра страниц действий Класс состоит из 1470 строк кода более 1000 из которых повторяются. Повторяются действия: извлечение списка добавление нового элемента удаление и сохранение элемента. Цель создать универсальный класс для сокращения кода. 00:49 Начало оптимизации Выбор файла с информацией для начала оптимизации. Замена списка и создание элементов в универсальном классе. Логика повторяется в каждом элементе списка. 01:26 Создание нового класса Добавление нового класса в модель представления. Переопределение базы viewmodel с использованием стандартной viewmodel. Перенос элементов для работы со списком. 02:26 Универсализация свойств Изменение свойств списка и выбранного элемента. Создание универсального типа viewmodel. Проблема с идентификатором выбранного элемента. 03:52 Создание интерфейса Создание общедоступного интерфейса для элементов списка. Реализация интерфейса в моделях представления. Доступ к идентификатору через интерфейс. 06:45 Абстрагирование функций Абстрагирование функции fetch для получения списка информации о файлах. Передача команды funk в конструкторе для возврата наблюдаемой коллекции. Обновление логики для работы с общим списком. 08:14 Сохранение состояния Интеграция состояния сохранения в модели view. Определение общих свойств и методов для унификации логики. Копирование установленного состояния сохранения. 10:07 Добавление нового элемента Создание метода новый элемент для добавления нового элемента. Применение метода в конструкторе. Уточнение названия метода создавать элементы. 11:05 Уникальная логика создания нового предмета Выделение специфической логики создания нового предмета. Избегание смешивания общей и уникальной логики в универсальном классе. Оставление уникальной логики для конкретных опросов. 11:50 Отмена и удаление выбранного элемента Ввод идентификатора выбранного элемента. Удаление выбранного элемента при отмене. Повторение процесса добавления сохранения удаления и отмены. 12:44 Реализация нового элемента в модели просмотра Проверка наличия нового элемента в модели просмотра процесса. Упоминание о возможном общем классе для модели просмотра процесса и действия. Реализация логического значения для нового элемента. 13:30 Удаление элемента из пользовательского интерфейса Копирование определения заголовка для реализации удаления элемента. Переименование метода для удаления элемента. Проверка наличия элемента перед удалением. 14:22 Ввод идентификатора и удаление элемента Ввод идентификатора для удаления элемента. Удаление элемента из пользовательского интерфейса и базы данных. Сокращение кода для передачи идентификатора. 15:38 Диалог и название элемента Начало диалога при удалении элемента. Добавление названия элемента для описания диалога. Передача модели основного вида и диалоговой службы. 17:57 Обновление выбранного элемента Обновление выбранного элемента из списка. Асинхронное сохранение элемента. Использование службы базы данных для добавления и обновления элементов. 20:50 Компиляция и проверка ошибок Начало компиляции и проверка ошибок. Исправление ошибок связанных с настройкой нового свойства. Проверка работы функции извлечения списка. 21:36 Завершение Копирование и исправление ошибок в других местах. Повторная компиляция для подтверждения правильности работы. 21:50 Исправление ошибок в виде Ошибки находятся внутри вида нужно их исправить. Команда добавить новый элемент информации о файле заменена на добавить элемент. Список информации о файлах теперь называется список объектов для выбора информации о файле. 22:49 Работа с внутренним списком Внутренний список привязан к идентификатору выбранного элемента. Команда удалить информацию о файле заменена на удалить элемент. Важно не пропустить элементы при вставке кода. 23:50 Проверка и сохранение изменений Проверка не пропущены ли внешние элементы. Отмена и сохранение изменений. Компиляция кода и проверка его работы. 24:41 Тестирование интерфейса Создание и сохранение нового файла. Подтверждение работы кода выбора. Получение универсального интерфейса с возможностью выбора. 25:06 Применение подхода к другим функциям Применение подхода к распечатыванию списка выбору пользовательских свойств сохранению модели чертежа импорту чертежа и макросу. Добавление 100 строк кода для реализации методов. 26:43 Масштабная очистка кода Масштабная очистка кода откладываемая на некоторое время. Стандартизация поведения классов по мере работы. Рефакторинг классов по мере их развития. Ссылка на GitHub для доступа к завершённому коду.,

#

Комментарии ( 0 )
Введите имя и нажмите войти
Войти

Сначала новые
Сначала старые
Сначала лучшие

Присоединяйтесь к обсуждению

М
Гость
Есть действительно полезные советы. Но их очень мало..
М
Гость
Да, очень много людей желающих похудеть и также много вариантов похудения. Но точно замечено, похудевшим человеком, что в первую очередь, это желание должно быть в голове. И при чем сильное желание. Да правильно сказано, пить много воды и спорт. Но я не согласна с тем, что сидеть только на рыбе ...
М
Гость
ЦСКА в этом году должен занять место в тройке. В том году они плохо провели концовку, поскольку скамейка была маленькая, а футболисты вместо того,  чтобы полностью выкладываться, думали о том как и где они продолжат карьеру. Ведь большая часть игроков были на аренде, а это не комильфо. Что касает...
М
Гость
У авторов видео поистине безграничная фантазия, некоторые увиденные поделки просто поразили мое воображение! Удивительно, как посредством элементарных предметов можно получить уникальный творческий опыт. Взяла на вооружение парочку идей для грядущей детской вечеринки, заранее предвкушаю, наскольк...

53. Avalonia UI Real World (Headered ListBox)
Смотреть
Ленинский Букварь
  2026-04-21 в 19:04:10
51. Avalonia UI Real World (Process List Page)
Смотреть
Ленинский Букварь
  2026-04-21 в 18:19:54
45. Avalonia UI Real World (New Page Back End)
Смотреть
Ленинский Букварь
  2026-04-21 в 04:03:00
46. Avalonia UI Real World (Dynamic UI Visibility)
Смотреть
Ленинский Букварь
  2026-04-21 в 10:57:48
44. Avalonia UI Real World (Automatic Restart On Error)
Смотреть
Ленинский Букварь
  2026-04-21 в 02:56:20
2026-04-21 14-03-33
Смотреть
Channel48641347
  2026-04-21 в 22:40:49
40. Avalonia UI Real World (Loading Data Models)
Смотреть
Ленинский Букварь
  2026-04-20 в 18:50:34
Рекомендации по карандашам
Смотреть
Прорыв в перманенте с Викторией Надеждиной
  2026-04-21 в 22:37:21
39. Avalonia UI Real World (ViewModel To DataModel)
Смотреть
Ленинский Букварь
  2026-04-20 в 16:40:36
55. Avalonia UI Real World (Entity Framework TPC)
Смотреть
Ленинский Букварь
  2026-04-21 в 21:36:29
50. Avalonia UI Real World (Mid-Project Clean Up)
Смотреть
Ленинский Букварь
  2026-04-21 в 16:43:07
Тайна слова «церковь». Часть 1 #shorts
Смотреть
ЕГЭ профиль 2026. Задание 3. Урок 35. Стереометрия
Смотреть
37. Avalonia UI Real World (Saving To Database)
Смотреть
Ленинский Букварь
  2026-04-20 в 21:51:43
47. Avalonia UI Real World (Git Commit Reviews)
Смотреть
Ленинский Букварь
  2026-04-21 в 11:56:17