Паттерн MVVM в Delphi

Часто программы написанные на Delphi не следуют какаой-то заданной архитектуре, что приводит к проблемам с сопровождением и расширением во многолетних проектах. Примеров архитектуры и реализации паттернов, в сравнении с другими языками мало. Существует группа паттернов для разделения визуальной части приложения и логики. Один из таких паттернов MVVM, он делит приложение на

  • Model
  • ViewModel
  • View

Схема MVVM

Модули с моделями могут ссылаться только на модули своей категории. Модули с ViewModel могут ссылаться на модули своей категории и на Model. А View могут ссылаться как на другие View, так и на ViewModel и Model. Передача данных между слоями, в основном, происходит посредством байндигов.

Представленный подход позволяет, в теории, сделать два разных представления приложения на VCL и FMX, и использовать для них одни и те же модули логики. В реальности, насколько это может быть осуществимо в крупном проекте, вопрос открытый, буду благодарен за любые ссылки и замечания по этой теме.

Ссылки на более подробное описание предоставлены ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

2 thoughts on “Паттерн MVVM в Delphi”

  1. Из моего опыта — реализация MVVM в Delphi это большой минус.
    Создание кучи прослоек для получения псевдо эфекта «кросплатформености», который вы никогда в жизни не будите использовать…

    MVVM удобен в тех я зыках где нет РАДсреды, в делфи выигрывает обычный клсический подход Форма, на ней Грид с ДатаСетом, без биндинга . Работает быстрее и более лёгок в сопровождение…

    1. Причина рассмотрения подобных архитектур, из-за того, что в крупном проекте, которому больше 10 лет, уже давно есть проблемы с сопровождением. Может быть для прощения поддержки вы используете, какие другие правила или определенную структуру проекта?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *