SOLID: запоминаем принципы разработки на образах
1. S — Принцип единственной ответственности Повара, который готовит только пиццу
Он не мешает суп и не варит кофе. Его задача — только вкусная пицца. Если пицца плохая — понятно, кто виноват.
2. O — Принцип открытости/закрытости Лего-домик, к которому можно легко пристроить новую комнату
Дом уже стоит, но ты можешь добавить к нему детали, не ломая старые. Программа должна работать так же — её легко расширить, не трогая старое.
3. L — Принцип подстановки Барбары Лисков Игрушечная машинка и гоночная машинка
Если вместо обычной машинки дать ребёнку гоночную — он всё ещё сможет ею играть. Новые части программы должны работать как старые, без сюрпризов.
4. I — Принцип разделения интерфейса Пульт с кучей кнопок и пульт с нужными кнопками
Зачем тебе пульт, где 100 кнопок, если ты включаешь только телевизор? Лучше, когда у каждого устройства свой удобный пульт.
5. D — Принцип инверсии зависимостей Розетка и разные приборы (чайник, тостер, лампа)
Розетка — это общий стандарт. Все приборы подключаются к ней, не важно, что это — лампа или пылесос. Программа должна зависеть не от конкретных деталей, а от общих правил.