Ещё один #паттерн, который полезно использовать — Adapter (Wrapper).
По сути, это интерфейс, который применяется к классу, который не применим, но при помощи Adapter становится совместим с другим классом. Чтобы стало яснее, объясню на примере.
Например, у нас есть две лодки: весельная и парусная. У них разные свойства, и они не пересекаются. Одна хорошо используется в озере, где не так много воды и нужна маневренность. Другая же — хороша в море, где много ветра и нужно плыть прямо. Но приходит неприятность: нападают пираты. Нужно уплыть от них быстрее, и совместить свойства обеих лодок. Для этого мы используем некий механизм, который вешаем на парусную лодку, и благодаря которому мы можем использовать весла. Этот механизм и будет Adapter.
Post #40
878