Способы достижения эффективных свойств Java?

Пожалуйста, дайте мне знать, если это неуместно, как сформулировано (в частности, лучше ли Programmers.SE или что-то в этом роде для вопроса.)

Хорошо. Итак, у меня есть ряд «черт», которые я сейчас выражаю как интерфейсы. Назовем их «обновляемыми» и «разрушаемыми». Выражение их как интерфейсов имеет обратную сторону: я не могу разделять поведение всех «разрушаемых» компонентов; с другой стороны, выражение их как абстрактных классов означает, что я не могу смешивать и сопоставлять без явного определения смешанного признака как другого абстрактного класса («UpdateableAndDestructible»), и, кроме того, в этот момент это похоже на злоупотребление функциональностью абстрактного класса. Однако, вероятно, я этим и займусь, если не будет более чистых способов решения этой проблемы.

Каковы мои варианты решения этой головоломки в отношении чистых Java-решений? Могу ли я описать общее поведение, а затем смешивать и сопоставлять, как я считаю нужным, без явного описания каждой перестановки, которую я буду использовать?

11
задан Joseph Weissman 22 August 2011 в 18:44
поделиться