Dlaczego tak
Adapter to klasa implementująca interfejs oczekiwany przez aplikację (Platnosc), która wewnątrz wywołuje metody biblioteki, tłumacząc nazwy i parametry — dzięki temu niezgodne interfejsy współpracują bez zmian w żadnym z nich. Fasada też opakowuje kod, ale jej celem jest uproszczenie dostępu do złożonego podsystemu, a nie dopasowanie do istniejącego interfejsu. Dekorator dodaje obiektowi zachowania przy tym samym interfejsie.