Паттерн MVVM в Delphi

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

  • Model
  • ViewModel
  • View

Схема MVVM

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

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

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

Последниее изменение: 24.08.2023, 06:42:55