# L!MP (13.11.2016 / 21:40)Ну так убери интерфейс с коллектора.
Ну так я же обозначил проблему: как бы дважды реализует интерфейс.
Или ты любитель, чтоб обязательно у каждого класса был свой собственный отдельный интерфейс?
# L!MP (13.11.2016 / 21:40)Ну так убери интерфейс с коллектора.
Ну так я же обозначил проблему: как бы дважды реализует интерфейс.
# AlkatraZ (13.11.2016 / 21:49)Не в том речь, у коллектора должен быть интерфейс. Из приведённого примера это не исходит, я же не буду всё описывать тут.
Или ты любитель, чтоб обязательно у каждого класса был свой собственный отдельный интерфейс?
# L!MP (13.11.2016 / 22:06)А как же интерфейс?
По сути, EntityManager и EntityColletor - это не пример иерархичного наследования, т.е ни один из этих двух классов не является над или под множеством другого.
Так что тут более логично использовать
# AlkatraZ (13.11.2016 / 22:07)
А как же интерфейс?
Или вся реализация через Трейт?
А как же интерфейс?
interface EntityCollectorInterface {}
interface EntityManagerInterface extends EntityCollectorInterface {}
trait EntityCollectorTrait {}
class EntityManager implements EntityManagerInterface {
use EntityCollectorTrait;
}
class EntityCollector implements EntityCollectorInterface {
use EntityCollectorTrait;
}
# L!MP (13.11.2016 / 22:26)Ну не знаю, такая сложная иерархия интерфейсов нужна редко.
Ну как-то так:
interface EntityCollectorInterface {}
interface EntityManagerInterface extends EntityCollectorInterface {}
trait EntityCollectoTrait {}
class EntityManager implements EntityMa
# AlkatraZ (13.11.2016 / 22:29)Мне нужен биндинг к интерфейсу, а не к реализации.
Ну не знаю, такая сложная иерархия интерфейсов нужна редко.
В основном для ловли ошибок.