Можно ли реализовать разделенный интерфейс в PHP?

Недавно я задал вопрос о разрешении зависимостей между классами Unit of Work и Data Mapper: Внедрение зависимостей и шаблон единицы работы - (на который ответил Gabor de Mooij - thx)

В PoEAA Мартин Фаулер предлагает использовать раздельный интерфейс для управления этими зависимостями. Мой вопрос прост - действительно ли можно реализовать этот шаблон в PHP или он специфичен для интерфейсов Java? Я искал повсюду, и трудно найти ссылки на этот шаблон где-либо за пределами PoEAA.


person sunwukung    schedule 14.06.2010    source источник


Ответы (2)



Вы пробовали Google? Первый результат:

http://www.ibm.com/developerworks/opensource/library/os-advphpobj/#N101E7

По сути, это говорит об использовании абстрактного класса, который действует как интерфейс.

Прокрутив немного вниз, вы увидите, что вы можете сделать это интерфейсами.

interface Exportable {
    public function export();
}

class OurNews extends ThirdPartyNews 
              implements Exportable {
    // ...
    function export() {
        print "OurNews export\n";
    }
}

class Dictionary implements Exportable, Iterator {
    function export() {
        //...
    }
}
person TheLQ    schedule 14.06.2010
comment
Я думаю, что ОП не хочет знать, возможны ли вообще интерфейсы, но попросил привести пример шаблона Separated Interface, как указано на martinfowler.com/eaaCatalog/separatedInterface.html - person Gordon; 15.06.2010
comment
Спасибо, Гордон. Это был не тот дроид, которого я искал для Lord Quackstar (;) - person sunwukung; 15.06.2010