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

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

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