Здесь показаны различия между двумя версиями данной страницы.
| Следующая версия | Предыдущая версия | ||
|
php:shablony_proektirovanija:structural_patterns:adapter [2023/08/17 14:48] werwolf создано |
php:shablony_proektirovanija:structural_patterns:adapter [2023/08/17 14:50] (текущий) werwolf |
||
|---|---|---|---|
| Строка 25: | Строка 25: | ||
| **Связи с другими паттернами** | **Связи с другими паттернами** | ||
| - | * Мост проектируют загодя, чтобы развивать большие части приложения отдельно друг от друга. Адаптер применяется\\ | + | * Мост проектируют загодя, чтобы развивать большие части приложения отдельно друг от друга. Адаптер применяется постфактум, чтобы заставить несовместимые классы работать вместе. |
| - | постфактум, чтобы заставить несовместимые классы работать вместе. | + | * Адаптер меняет интерфейс существующего объекта. Декоратор улучшает другой объект без изменения его интерфейса. Причём Декоратор поддерживает рекурсивную вложенность, чего не скажешь об Адаптере. |
| - | * Адаптер меняет интерфейс существующего объекта. Декоратор улучшает другой объект без изменения его интерфейса. Причём\\ | + | * Адаптер предоставляет классу альтернативный интерфейс. Декоратор предоставляет расширенный интерфейс. Заместитель предоставляет тот же интерфейс. |
| - | Декоратор поддерживает рекурсивную вложенность, чего не скажешь об Адаптере. | + | * Фасад задаёт новый интерфейс, тогда как Адаптер повторно использует старый. Адаптер оборачивает только один класс, а Фасад оборачивает целую подсистему. Кроме того, Адаптер позволяет двум существующим интерфейсам работать сообща, вместо того, чтобы задать полностью новый. |
| - | * Адаптер предоставляет классу альтернативный интерфейс. Декоратор предоставляет расширенный интерфейс. Заместитель\\ | + | * Мост, Стратегия и Состояние (а также слегка и Адаптер) имеют схожие структуры классов – все они построены на принципе «композиции», то есть делегирования работы другим объектам. Тем не менее, они отличаются тем, что решают разные проблемы. Помните, что паттерны – это не только рецепт построения кода определённым образом, но и описание проблем, которые привели к данному решению. |
| - | предоставляет тот же интерфейс. | + | |
| - | * Фасад задаёт новый интерфейс, тогда как Адаптер повторно использует старый. Адаптер оборачивает только один класс, а\\ | + | |
| - | Фасад оборачивает целую подсистему. Кроме того, Адаптер позволяет двум существующим интерфейсам работать сообща,\\ | + | |
| - | вместо того, чтобы задать полностью новый. | + | |
| - | * Мост, Стратегия и Состояние (а также слегка и Адаптер) имеют схожие структуры классов – все они построены на принципе\\ | + | |
| - | «композиции», то есть делегирования работы другим объектам. Тем не менее, они отличаются тем, что решают разные\\ | + | |
| - | проблемы. Помните, что паттерны – это не только рецепт построения кода определённым образом, но и описание проблем,\\ | + | |
| - | которые привели к данному решению. | + | |
| **Adapter.php** | **Adapter.php** | ||