1

Я работаю над приложением Eclipse RCP, используя стороннюю модель домена на основе EMF и редактор GEF для редактирования.Можно ли использовать шаблон модели представления для приложения RCP на основе GEF с моделью домена EMF?

GEF uses the MVC pattern, что было бы достаточно справедливо, если бы мне не пришлось использовать конкретный макет для рисования графа модели в представлении редактора. Используемая мной модель домена не содержит никакой визуальной информации (что само по себе является хорошей идеей), но я хотел бы иметь возможность назначать координаты Figure s в своих EditPart с. Это облегчило бы мне рассчитать положение фигуры в макете.

Теперь я наткнулся на Presentation Model Pattern от Мартина Фаулера, который, кажется, просто о том, что я искал. Я также нашел a-old-ish - tutorial on RCP UI testing (только на немецком языке), который использует этот шаблон в контексте RCP затмения.

Теперь мне интересно: можно ли вообще использовать PM в контексте GEF, видя, что GEF явно использует MVC? Является ли MVVM альтернативой?

Обратите внимание, что мне запрещено использовать GMF по ряду причин.

Большое спасибо!

ответ

1

Да, это определенно возможно, и у вас есть два выбора.

Первый - это реализация собственной модели графического обозначения. Я хотел бы предложить вам с помощью appreach как:

modelElement : ModelElement 1..1 
x   : int   1..1 
y   : int   1..1 

Затем загрузите две модели в EditingDomain (EMF рассосется ссылки между документами для вас), создать все отсутствующие элементы графической нотации и т.д ..

Другой вариант использовать GMF или Graphiti. У них есть модель, которую вы ищете из коробки, что значительно упростит вам жизнь. За счет изучения еще-еще-монстра-рамки (в случае GMF). Graphiti, легко (относительно GEF/GMF), но IMO менее гибкая. GMF, btw, предоставит вам «бесплатный» TransactionalEditingDomain, который будет обрабатывать все команды, отменить и повторить для вас. Итак, как в комментариях к вам previous question, я предлагаю вам использовать GMF.

О, извините, я не заметил, что вы написали о GMF.

Затем второй вариант заключается в том, чтобы наследовать графическую модель от модели домена, а затем кодировать вам редактор GEF для этой модели.

 Смежные вопросы

  • Нет связанных вопросов^_^