{ КОД БЕЗ ГРАНИЦ }

{ КОД БЕЗ ГРАНИЦ } 

творческая личность и энтузиаст по жизни

0subscribers

2posts

SOLID простыми словами

S -Single Responsibility Principle (Принцип единственной ответственности)

Один объект решает только одну задачу, а не несколько.
Плохо: Структура User умеет и хранить данные, и сохранять их в БД.
Хорошо: User хранит данные, UserRepository занимается сохранением.

O -Open/Closed Principle (Принцип открытости/закрытости)

Классы открыты для расширения но закрыты для модификации, весь новый функционал это наследование от текущего класса (в рамках разумного).
Суть: Мы добавляем новый функционал, не меняя старый код, а расширяя его через интерфейсы.

L -Liskov Substitution Principle (Принцип подстановки Лисков)

Класс работающий с определенным классом должен работать и с его наследниками, наследуемый класс должен дополнять а не замещать функции родителя.
Суть: Производный тип не должен ломать логику базового. Если функция ждет интерфейс, любая реализация должна вести себя предсказуемо.

I -Interface Segregation Principle (Принцип разделения интерфейсов)

Разделение интерфейсов с жирных на более мелкие. заставляем клиента реализовывать только тот интерфейс которым он пользуется.
Плохо: Интерфейс Worker с методами Eat() и Work(). Робот не ест, но обязан реализовать метод.
Хорошо: Разделяем на мелкие части.

D -Dependency Inversion Principle (Принцип инверсии зависимостей)

Классы зависят от абстракций а не от конкретных реализаций.
Суть: Высокоуровневый код не зависит от деталей (БД, API), он зависит от интерфейсов.
Subscription levels1

Разрабу на кофе

$1.39 per month
Так вы можете поддержать меня, мои труды и стремления сделать окружающий мир немного лучше.
Go up