Уверены, что вам нужны разные интерфейсы поведения?Разве этого не достаточно для реализации одного интерфейса поведения и пары конкретных поведений?
Просто пример, предположим, что у нас есть реализация реального дикого животного, скажем, класса Cat
с некоторыми датчиками ибольшой каталог поведения.Теперь кошачий глазной датчик сообщает «мышь !!».Cat
запросит его Collection
из Behaviour
экземпляров, если есть совпадение, если какой-либо из сохраненных Behaviour
экземпляров захочет принять действие.Предположим, у нас есть экземпляр class HuntMouse implements Behaviour
, сохраненный в списке, и это наилучшее совпадение, тогда кошка вызовет action()
для этого Behaviour
и поищет мышь.
Вернемся к вашему вопросу - Iдумаю, одного Behaviour
интерфейса с 2-3 методами будет достаточно, конкретные Behaviour
объекты не нуждаются в префиксе или суффиксе.И если необходимо, я предлагаю -Behaviour
(например, HuntMouseBehaviour
)
Изначально вы запрашивали Поведения , но в вашем примере HasText
показана какая-то функция .Где в этом особом случае, TextProvider
может быть лучшим выбором, а hasText
более подходящим.Реализация интерфейса добавляет в класс функцию provide some text
.
Не в качестве ответа на вопрос, а для дальнейшего чтения: Список шаблонов поведенческого проектирования .
(Кстати, мой пример, приведенный выше, был вдохновлен реальными реализациями из области робототехники - даже если кот не робот;))