Задать вопрос
@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 поможет продлить срок поддержки проекта (или стоит обратить внимание на нечто другое)?
  • Вопрос задан
  • 21 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • 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. При условии, конечно, дальнейшего развития проекта и наращивания функционала. Если же глобальная цель проекта просто исправление багов и иногда правка функционала — то нет никакого смысла что-то делать. Разве что рефакторинг и детальное документирование, если всё не очень там хорошо с этим.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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