powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / winAPI и паттерн MVC
8 сообщений из 8, страница 1 из 1
winAPI и паттерн MVC
    #39307286
k-payl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Планирую написать 3d-редактор. Технологии C++, winAPI (без ATL, MFC и т.д). Кода, думаю, будет много. Поэтому решил, стоя на берегу, так сказать, продумать архитектуру. Интересует интерпретация паттерна MVC применительно к winAPI.

Как вижу это я: Контроллер : в нем находится основной цикл. В контроллере производится преобразование windows сообщений в платформонезависимые типы данных. Он посылает данные различным моделям. Думаю ввести некий ControllerModel - будет отвечать за то, на какие конкретно модели необходимо действовать. Контроллер зависит только от моделей и ничего не знает про Вид-ы. Модель - логика. Есть одна независимая модель, я ее называю EditorLogic - состояние и логика редактора, и есть побочные модели - они связывают Вид-ы с EditorLogic. В принципе, с каждым Видом связана определенная Модель. Вид отвечает за отображение. Знает о своей модели.


У кого нибудь был подобный опыт? Может есть какие-нибудь открытые проекты. Не хочется наступать на грабли в процессе разработки. Буду рад любым соображениям по этой теме.
...
Рейтинг: 0 / 0
winAPI и паттерн MVC
    #39307287
k-payl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
winAPI и паттерн MVC
    #39307288
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой ужас. Парень. Ну если ты решил рисовать диаграммы то возьми себе
нормальный UML редактор.

Надо уметь красиво оформлять документацию. Это часть культуры.
...
Рейтинг: 0 / 0
winAPI и паттерн MVC
    #39307290
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k-payl,

от winapi здесь только приём движений мыши и кнопок на клавиатуре.
(ну создание окна и инициализация OpenGL/Direct3D)
...
Рейтинг: 0 / 0
winAPI и паттерн MVC
    #39307376
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k-paylМожет есть какие-нибудь открытые проекты.Исходники WinForms, WPF, VCL и т. п. доступны. Можно посмотреть как сделано в них.

На первый взгляд: обычно базовый класс View содержит виртуальный метод WndProc, принимающий все сообщения для данного окна. Даже если не планируется строить View вокруг WinAPI-окна, то всё равно лучше не "нарушать традиций".

Ну и в терминологии немного напутано. Обычно так:

1. Controller или Presenter или ViewModel - содержит логику представления, является "переходником" между View и Model.

2. Model - содержит прикладную логику, не зависящую от View.

3. View - отвечает за визуализацию и события UI.

4. Application - содержит цикл обработки сообщений, должен мочь отправлять пойманные сообщения в WndProc соответствующей View.
...
Рейтинг: 0 / 0
winAPI и паттерн MVC
    #39307408
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k-payl, почему именно MVC, а не FRP?
...
Рейтинг: 0 / 0
winAPI и паттерн MVC
    #39307837
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k-paylПланирую написать 3d-редактор. Технологии C++, winAPI (без ATL, MFC и т.д). Кода, думаю, будет много. Поэтому решил, стоя на берегу, так сказать, продумать архитектуру. Интересует интерпретация паттерна MVC применительно к winAPI.



Её там просто нету.


k-paylКак вижу это я: Контроллер : в нем находится основной цикл. В контроллере производится преобразование windows сообщений в платформонезависимые типы данных. Он посылает данные различным моделям. Думаю ввести некий ControllerModel - будет отвечать за то, на какие конкретно модели необходимо действовать. Контроллер зависит только от моделей и ничего не знает про Вид-ы. Модель - логика. Есть одна независимая модель, я ее называю EditorLogic - состояние и логика редактора, и есть побочные модели - они связывают Вид-ы с EditorLogic. В принципе, с каждым Видом связана определенная Модель. Вид отвечает за отображение. Знает о своей модели.


У кого нибудь был подобный опыт? Может есть какие-нибудь открытые проекты. Не хочется наступать на грабли в процессе разработки. Буду рад любым соображениям по этой теме.

Как бы controller из MVC уже давно не нужен.
Его функции выполняют GUI-виджеты и комманды, которые они посылают.

Остальное у тебя -- либо каша в голове, либо лучи гениального ума. Что конкретно -- понять сложно.
...
Рейтинг: 0 / 0
winAPI и паттерн MVC
    #39332239
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivk-paylПланирую написать 3d-редактор. Технологии C++, winAPI (без ATL, MFC и т.д). Кода, думаю, будет много. Поэтому решил, стоя на берегу, так сказать, продумать архитектуру. Интересует интерпретация паттерна MVC применительно к winAPI.



Её там просто нету.


k-paylКак вижу это я: Контроллер : в нем находится основной цикл. В контроллере производится преобразование windows сообщений в платформонезависимые типы данных. Он посылает данные различным моделям. Думаю ввести некий ControllerModel - будет отвечать за то, на какие конкретно модели необходимо действовать. Контроллер зависит только от моделей и ничего не знает про Вид-ы. Модель - логика. Есть одна независимая модель, я ее называю EditorLogic - состояние и логика редактора, и есть побочные модели - они связывают Вид-ы с EditorLogic. В принципе, с каждым Видом связана определенная Модель. Вид отвечает за отображение. Знает о своей модели.


У кого нибудь был подобный опыт? Может есть какие-нибудь открытые проекты. Не хочется наступать на грабли в процессе разработки. Буду рад любым соображениям по этой теме.

Как бы controller из MVC уже давно не нужен.
Его функции выполняют GUI-виджеты и комманды, которые они посылают.

Остальное у тебя -- либо каша в голове, либо лучи гениального ума. Что конкретно -- понять сложно.

Интересная мысль. Я кстати тоже последнее время начал замечать, что у меня контроллеры становятся всё меньше и меньше в объёме. (пишу на фреймворке Yii - php)

Сначала начал замечать, что большая часть из того, что раньше было в контроллере начало перекочёвывать в отдельные компоненты или виджеты, а потом ещё больше из них перекочевало в сами модели, которые теперь зачастую работают друг с другом. В редких случаях, если им не положено знать друг о друге (для разборности системы на независимые автономные части, а нужные модели лежат в разных модулях) для них создаётся компонент, который дружит их функционалы.

Сейчас проектирую одну относительно большую систему (не просто сайт, а сервис из множества компонентов) и понемногу прихожу к выводу, что при её, как мне кажется, идеальной структуре, контроллеры становятся лишними и в некотором смысле даже мешают отделению GUI от логики находясь на грани и того и другого. По сути их задача сводится к "В каком формате отдать? а, в json? ну держи json... А тебе в чём? в html обёртке? ... держи html". Разумеется с этой задачей справился бы банальный компонент, который в зависимости от запрошенного формата приводил бы данные к нужному виду.

Увидим что выйдет, когда я приступлю всё же к реализации (когда полностью спроектирую то что должно получиться)... но вполне может быть, что у меня контроллеры в итоге останутся пустышками (враперами для вызова реального функционала), просто что бы система была совместима с другими решениями на yii и расширениями.

Жаль пока мало что о правильном проектировании знаю..
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / winAPI и паттерн MVC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]