2016-03-20 2 views
0

В настоящее время в моем приложении у меня есть такой классы:Как назвать inteface промежуточного класса

Tag

Post который реализует ITagAble/TagAbleInterface

Link который реализует ITagAble/TagAbleInterface

Я хочу, чтобы мое обслуживание работать с интерфейсами. А также у меня есть промежуточные классы для сопоставления моей post_tag и link_tag из базы данных:

PostTag который содержит post объекта и tag объекта и, возможно, дату добавленного тега

LinkTag который содержит link объекта и tag объекта и, возможно, дату добавлена тег

Как позвонить интерфейсу PostTag и LinkTag? Будет только один (тот же) метод, чтобы установить нужный объект и дату post или link.

+0

Вы не являетесь реальным в том, что хотите вызвать объекты PostTag и LinkTag. Можете ли вы опубликовать определение интерфейса? –

+0

что-то вроде: '' 'setTagAbleId (TagAbleInterface $ tagAble)' '' который установит '' '$ this-> пост = $ tagAble-> GetId()' '' в PostTag и '' '$ это -> ссылка = $ tagAble-> GetId() '' 'в LinkTag интерфейс просто будет выглядеть следующим образом интерфейса некоторого Имя – Juri

+0

интерфейс будет что-то вроде: ' '' интерфейс SomeName { публичной функция setTagAbleId (TagAbleInterface); } '' ' – Juri

ответ

0

У вас не должно быть этих промежуточных классов. Это побочный эффект реляционной базы данных. Не следует копировать структуру базы данных в структуре класса.

Сообщение и ссылка должны иметь коллекцию тегов, теги не должны иметь никакого отношения к ITagAble.

Смежные вопросы