Wzorce projektowe (design patterns) stosowane w Javie Christopher Alexander: Wzorzec to sprawdzona koncepcja, która opisuje problem powtarzający się wielokrotnie w określonym kontekście, działające na niego siły, oraz podaje istotę jego rozwiązania w sposób abstrakcyjny Adapter - klasa, która "opakowuje" dane/model (np. ArrayList<>) w taki sposób, aby były użyteczne dla widoku (np. ListView). Decyduje o tym jak w widoku wyświetlane będą dane z modelu. Dzięki temu listy (widok) mogą być bardziej elastyczne w wyglądzie - o adaptacji danych do widoku decydować może programista. Listener (nasłuchiwacz) = Obserwator - obiekt powiadamiany o zmianie stanu innego obiektu i reagujący na tą zmianę. Np. listener reagujący na kliknięcie elementu w liście może zareagować wyświetleniem toastu. [Alternatywa dla modelu zdarzeniowego - brak wskaźników do funkcji/metod] Intent (intencja) = Command - obiekt przechowujący wszystkie dane niezbędne do późniejszego uruchomienia polecenia - metodę i wartości jej parametrów. Dzięki temu można je kolejkować. Menadżer (zarządca) = mediator ???