Как мне моделировать разные уровни MVC - PullRequest
0 голосов
/ 06 августа 2011

Я кодирую меню, которое может выглядеть примерно так:

menu sketch

Я хотел закодировать это, используя шаблон MVC. Итак, я начал рисовать диаграмму классов UML для модели и получил это:

uml class digram for the model

Но я не был счастлив. Я не смог придумать хороший интерфейс для взаимодействия с контроллером. Затем я понял, что, например, сам NumberMenuItem может (должен) быть разделен на модель, представление и контроллер. Модель будет номером. Контроллером будет - и + используется для уменьшения и увеличения числа. И представление будет метка, отображающая текущее числовое значение. Другие подклассы MenuItem также могут быть разделены на части MVC.

Так что теперь вопрос:

Как мне смоделировать это сейчас, когда CommandMenuItem, NumberMenuItem, StringMenuItem и SubMenuItem на самом деле сами являются триадой MVC, но на более низком уровне?

P.S.
Реализация позволит, например, NumberMenuItem войти в середину меню (показывая только - # +, т.е. без какого-либо описательного текста), но мой внешний API будет гарантировать, что NumberMenuItems и StringMenuItems всегда являются единственным элементом в подменю, как в эскизе, который я отправил. Может, скрыть заголовок подменю.

1 Ответ

0 голосов
/ 09 августа 2011

Я думаю, что у меня есть кое-что, что может работать сейчас. UML diagram

Я сделал триады MVC более низкого уровня, где модель более низкого уровня является частью более крупной модели. То же самое для контроллера и просмотра.

Единственное, что мне удалось найти об этом в Интернете, это: http://www.purpletech.com/articles/mvc/mvc-and-beyond.html

...