Первый паттерн "поведенческий". А второй "кодовый"