![]() |
|
||||||||||
|
|||||
|
Banned
Регистрация: Aug 2014
Сообщений: 461
|
Нет! Логичней хранить инструменты в виде, который представляет программу.
Вам нужно забыть все, что вы напридумавали и на минутку закрыть глаза и расслабиться. И представить, что Вы разрабатываете графический редактор и чтобы Вам было легче, Вы решили сделать это при помощи mvc. Теперь вы должны вынести в отдельный угол своего сознания ЛОГИКУ, которая очень важна для работы приложения. Вы начинаете словно в бреду перечислять всё ранее Вами придумано и в первую очередь называет самые, как Вам кажется, "отпадные фишечки" Ваше редактора - полигон, линейка, ластик и конечно же, ну конечно же фильтры. И вот в предвкушения всех лавров которые на Вас снизойдут, спуститесь на землю и подумайте, если вдруг Ваш кот сотрет одну из этих инструментов, то будет ли работать Ваше приложение в целом? Вот если оно перестанет правильно функционировать, то это логика, а если нет, то это всего лишь "декор", который в модели не нужен вовсе. А задумка поместить отображение в модель, это вообще полная mvc-ересь. Добавлено через 11 минут И добавлю - Ваши инструменты, это всего лишь иконки и несколько строк кода для манипуляции с bitmapData, по на них не стоит зацикливаться. Графический редактор, а точнее отображение, должно быть реализовано через паттерн "состояния" где есть интерфейс IDraw ( я не умею писать так по английски ) с методами - draw() это для всех рисовалок и IFilter c методом apply. И должна быть коллекция реализующая эти интерфейсы. И об рисовании и применениях фильтров вообще нет смысла знать в модели. Я даже сомневаюсь, что данные для отката шагов нужно в модель записывать. Добавлено через 27 минут Сложно даже придумать, для чего нужна модель. Здесь состояние, коллекция, итератор, медиатор, представление, возможно еще что-то типа контроллера-презентер.. Хотя можно забить на все и сделать из mvc state machine, сделав из модели селектор.. Может более опытные направят, но я больше не знаю что сказать. Mvc тут только для переключения каких-то окошек-вкладок... |
![]() |
Часовой пояс GMT +4, время: 05:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|