Лучшее / Формальное имя для шаблона проектирования обратного вызова _beforeFoo - PullRequest
4 голосов
/ 27 марта 2012

Многие системы PHP реализуют типы объектов (например, модели), которые позволяют программисту-клиенту определять метод в своих собственных классах примерно так:

class Car extends Model
{
    public function _afterSave()
    {
         //do something every-time this model is saved
    }
}

В документации и руководствах этот шаблон обычно вводится как шаблон "наблюдатель / слушатель".

Однако, хотя вы и можете описать этот метод как прослушивание действий родительского класса, похоже, что он сильно отличается от классического ООП шаблона наблюдателя .

Существует ли формальное имя шаблона, позволяющее клиентским программистам определять эти виды методов до / после, или это просто что-то, что разработчики раннего PHP разработали до того, как язык разработал свой java / C #, такой как OOP?

1 Ответ

5 голосов
/ 28 марта 2012

Предполагая, что вызов этих методов выполняется Model или какой-либо другой частью frameowrk (я не знаю PHP), это шаблонный шаблонный метод с методами, которые служат в качестве точек расширения, часто называемыми перехватчиками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...