Я ищу шаблон, который применяется для настройки размещения графических объектов.Шаблон для настройки размещения графических объектов
Вот моя проблема:
У меня есть некоторые данные объекты со свойствами, такие как название, описание, изображение и т.д. Я хочу обратить представления этих объектов на холсте.
Существуют различные «макеты», которые могут применяться. Все определения макета существуют во время компиляции.
В описании макета я хочу, чтобы иметь возможность определить следующее для любого из свойств объекта:
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, но есть один метод способен разобрать все определения макета и применить их к объектам.
Если вычисление размера текста выходит за рамки полезного шаблона, просто предположим, что длина и высота всегда заданы.
Это имеет смысл? Есть ли название шаблона/идиомы?
Я не вижу преимущества декоратора для этой проблемы. Возможно, я должен быть более точным и, возможно, сужение вопроса к графике не поможет. Я обновил свой первоначальный вопрос. Имеет ли это смысл? Это пример декоратора? Если нет, есть ли другой шаблон/идиома, описывающий это? –
Итак, вы хотите расширить свою модель, чтобы иметь информацию о местоположении, не так ли? – ivowiblo
Я хочу иметь варианты информации о местоположении, которые могут содержать относительные/вычисляемые значения, и я думаю, что лучше всего описать ее на более абстрактном уровне, чем жестко-кодировать ее в n Java-методах. –