1. Турникет умеет открываться и закрываться. Этого достаточно.
2. Кошка и прочие умеют подходить к турникету и запускать процесс пропуска. Если открылся - умеют проходить.
3. После инициации процесса, некий "менеджер турникета" начинает по очереди обходить все существующие правила и спрашивать у каждого "умеешь валидировать объект X?"
4. Если валидатор нашелся, то передаешь ему объект и он (валидатор), возвращает менеджеру решение - пропускать или нет.
5. Менеджер открывает турникет или нет