нравится:

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

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

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

Ответы на вопрос(3)

Ваш ответ на вопрос