Carrier Rider Mapper
Войти

Carrier Rider Mapper

Паттерн проектирования Carrier Rider Mapper.

Carrier — носитель любой информации к которой могут иметь доступ несколько клиентов одновременно.

Rider — это либо Reader либо Writer — объекты посредством которых Carrier предоставляет доступ к хранимой в нём информации. Клиенты считывают и записывают информацию хранимую в Carrier исключительно только посредством объектов типа Reader и Writer. Таким образом, Reader и Writer — это интерфейсы доступа к информации.

Mapper — это либо Scanner либо Formatter — объекты обёртки над Reader либо Writer соответственно. Мапперы отвечают за преобразование форматов данных в удобные для клиентов форматы.

Поток информации от носителя к клиенту (считывание): Carrier -> Reader -> Scanner -> Client

Поток информации от клиента к носителю (запись): Carrier <- Writer <- Formatter <- Client

Введение прослойки мапперов между Carrier-Rider и клиентами позволяет соединять один и тот же Carrier-Rider с разными типами клиентов посредством соответствующих (разных) мапперов.

Паттерн Carrier-Rider-Mapper был сформулирован в следующей исследовательской работе: «Insight ETHOS: On Object-Orientation in Operating Systems»; Clemens Szyperski; vdf, Zьrich, 1992, ISBN 3 7281 1948 2

Теги:
php