Обычное различие (по крайней мере, то, которое я использую, я действительно надеюсь, что оно "обычное" :)) между свойствами и методами все еще применяется.
Если акт получения данных от объекта через именованный идентификатор (свойство или метод) является либо:
- Дорогая операция (т. Е. Она может запрашивать базу данных)
- или операция, которая имеет побочные эффекты (т. Е. Она может изменить внутреннее поле)
... тогда это должен быть метод.
Если операция легкая, без побочных эффектов, это может быть свойство.
Таким образом, чтение имени человека является свойством, поскольку это значение, вероятно, должно начинаться с объекта.
Однако, чтобы выяснить, сколько заказов он имеет в системе, это, вероятно, должен быть метод, поскольку, скорее всего, ему придется выполнять более дорогую операцию.
По крайней мере, это критерии, которые я использую.
И не важно, является ли это классом или интерфейсом.
В вашем конкретном случае я бы пошел с собственностью. «Тегируемый» элемент должен знать свои теги.