Я должен использовать элемент GUI, который рисует изображение в определенной позиции экрана.
Если пользователь выбирает это изображение, вокруг изображения рисуется рамка.
Теперь мы хотим включить еще одну рамку, которая идентифицирует изображения с определенным значением для пользователя.
В данный момент Элемент смотрит на свое внутреннее состояние, если оно выбрано, и затем решает, как нарисовать себя.
graphic.drawImage(icon, x, y, null);
if (selected) {
drawBorder();
}
Мне не нравится идея добавить еще один, если еще к этому методу рисования.
Я думал о создании нового класса, который наследует поведение элемента и перезаписывает метод draw, но это означает дублирование всего выбранного кода в каждом унаследованном классе.
Есть хорошая возможность, чтобы решить эту проблему, не создавая подкласс?