Задать вопрос
@Vsls

Каков вектор развития legacy-проекта на WinForms?

В руки попало десктопное ПО на Windows Forms под .NET Framework 3.5.
Архитектура: Massive Code-Behind (God Object)

Планирую привести проект до актуального стека:
  1. Поднять версию до .NET Framework 4.8.
  2. Мигрировать на .NET.
  3. Внедрить паттерн MVP для повышения поддерживаемости.


Вопросы:
Какой путь развития предложите для winform приложений и какие есть прогнозы на эту технологию?
Паттерн MVP поможет продлить срок поддержки проекта (или стоит обратить внимание на нечто другое)?
  • Вопрос задан
  • 48 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Merion Academy
    C# разработчик с нуля
    4 месяца
    Далее
  • Stepik
    Профессия "C# разработчик"
    1 неделя
    Далее
  • Skillfactory
    Профессия C#-разработчик
    12 месяцев
    Далее
Решения вопроса 1
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
Многое зависит от внутренней архитектуры решения, зависимостей, а так же целей и задач, которые вы этим процессом хотите решить. Если вся логика разделена на отдельные модули, то портировать проект на более современные версии .Net будет не очень больно. Но всё равно будет больно. Например, если бизнес-логика и интерфейс чётко разделены — то после разработки нового интерфейса на WPF/Avalonia внедрить всю эту логику будет относительно несложно. А вот если там всё в одной куче — процесс портирования равносилен разработке решения с нуля. Если бюджет позволяет и это решит какие-то ваши текущие задачи — то, он вполне имеет смысл быть. Обычно, в WinForms всё в одной куче и для новой платформы надо просто всё переписать с нуля. В WPF и иже с ним обычно используют паттерн MVVM, а не MVP. Так что внедрять MVP в WinForms проект не имеет особого смысла — лучше сразу MVVM с прицелом на полноценный переход на WPF. При условии, конечно, дальнейшего развития проекта и наращивания функционала. Если же глобальная цель проекта просто исправление багов и иногда правка функционала — то нет никакого смысла что-то делать. Разве что рефакторинг и детальное документирование, если всё не очень там хорошо с этим.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы