2012-02-02 3 views
0

Я ищу шаблон, который применяется для настройки размещения графических объектов.Шаблон для настройки размещения графических объектов

Вот моя проблема:

У меня есть некоторые данные объекты со свойствами, такие как название, описание, изображение и т.д. Я хочу обратить представления этих объектов на холсте.

Существуют различные «макеты», которые могут применяться. Все определения макета существуют во время компиляции.

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

size: для текста, конечно, это не означает, что длина/высота всего текста, а о характер

position:

  • абсолютный к исходной точке представления

  • или относительно других отображаемых свойств (например, thisPropertyDisplay.x = anotherPropertyDisplay.x + anotherPropertyDisplay.length)

Конечно, я мог бы явно закодировать размещение в п блоков/методов, один для каждого макета. Есть ли более эффективная практика или идиома, как реализовать эту проблему в Java?

То, что я на самом деле хочу делать, я хочу, чтобы описать что-то вроде этого:

property1.x = 0; property1.y = 0; 
property2.x = property1.Endpoint.x; property2.y = property1.y; 
property3.x = property1.Endpoint.x; property3.y = property2.Endpoint.y; 

Это определение явно не закодированный в п методов Java, но есть один метод способен разобрать все определения макета и применить их к объектам.

Если вычисление размера текста выходит за рамки полезного шаблона, просто предположим, что длина и высота всегда заданы.

Это имеет смысл? Есть ли название шаблона/идиомы?

ответ

0

декоратор, кажется правильным:

http://en.wikipedia.org/wiki/Decorator_pattern

Идея заключается в том, вы будете иметь еще один класс, который будет распространяться на поведение обработки информации о местоположении и размере.

Надеюсь, это поможет

+0

Я не вижу преимущества декоратора для этой проблемы. Возможно, я должен быть более точным и, возможно, сужение вопроса к графике не поможет. Я обновил свой первоначальный вопрос. Имеет ли это смысл? Это пример декоратора? Если нет, есть ли другой шаблон/идиома, описывающий это? –

+0

Итак, вы хотите расширить свою модель, чтобы иметь информацию о местоположении, не так ли? – ivowiblo

+0

Я хочу иметь варианты информации о местоположении, которые могут содержать относительные/вычисляемые значения, и я думаю, что лучше всего описать ее на более абстрактном уровне, чем жестко-кодировать ее в n Java-методах. –

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