Найти тему
tech talk

SOLID - на понятном языке

SOLID - это аббревиатура пяти основных принципов проектирования в объектно-ориентированном программировании, которые помогают создавать чистый и легко поддерживаемый код. Эти принципы были названы Робертом Мартином в начале 2000-х годов и популяризованы Майклом Фэзерсом.

В этой статье рассмотрим каждый из этих принципов и узнаем, как они могут улучшить среду разработки.

S - Single Responsibility Principle (Принцип единственной обязанности). Призывает, чтобы один класс выполнял только одну работу. Это означает, что класс должен иметь только одну причину для изменения и не должен заниматься функциональностью, которая не относиться к его цели.

O - Open-Closed Principle (Принцип открытости/закрытости). Гласит, что классы должны быть открыты для расширения, но закрыты для модификации. Это означает, что можно добавлять новую функциональность к существующим классам, только без изменения из кода.

L - Liskov Substitution Principle (Принцип подстановки Лисков). Утверждает, что подклассы должны быть взаимозаменяемы с их суперклассами. Это означает, что можно использовать объекты подклассов там, где ожидается объекты суперклассов без нарушения корректности программы.

I - Interface Segregation Principle (Принцип разделения интерфейсов). Предписывает разделять большие интерфейсы на меньшие и более специфические. Это означает, что клиенты не должны зависеть от методов интерфейсов, которые им не нужны.

D - Dependency Inversion Principle (Принцип инверсии зависимостей). Заключается в том, что высокоуровневые модули не должны зависеть от низкоуровневых модулей; оба типа должны зависеть от абстракций. Это означает, что мы должны использовать абстрактные типы данных вместо конкретных реализаций для уменьшения связанности между компонентами системы.

Применяя эти принципы, можно повысить качество своего кода и избежать многих проблем при разработке и тестировании.

Более подробная информация с примерами кода:
1.
SOLID — принципы объектно-ориентированного программирования (web-creator.ru)

2. SOLID (объектно-ориентированное программирование) — Википедия (wikipedia.org)

3. Принципы SOLID: объяснение человеческим языком | Techrocks

4. SOLID принципы с примерами на Python · GitHub