Урок 2: OCP с паттерном Strategy
Каждая новая акция магазина добавляет ещё одну ветку в метод расчёта цены: VIP-купон, праздничная распродажа, а в следующем месяце — ещё одна. Каждая правка открывает заново код, который уже работал в продакшене, ставит под угрозу существующие купоны и вынуждает всё перетестировать. Этот урок обучае
OCP с паттерном Strategy — это как ящик с формочками для печенья: хотите новую форму? Бросьте новую формочку в ящик. Ради этого никто не разбирает скалку.
- Паттерн Strategy
- Поведения — это взаимозаменяемые объекты за одним интерфейсом; движок прогоняет контракт, не зная реализаций.
- Принцип открытости/закрытости (OCP)
- Открыт для расширения новыми классами, закрыт для изменения кода, который уже работает и протестирован.