SOLID - это аббревиатура от 5 важных принципов проектирования при объектно-ориентированном программировании (ООП):
- S Принцип ответственности
- O Принцип закрытости ручки
- Л Исков Принцип замещения
- I Принцип разделения интерфейса
- D принцип инверсии зависимости
Эти принципы предназначены для того, чтобы сделать проекты программного обеспечения более понятными, более простыми в обслуживании и расширении.
Принцип единой ответственности. В нем говорится, что каждый модуль или класс должен нести ответственность за отдельную часть функциональности, предоставляемой программным обеспечением. Другими словами, у класса должна быть одна и только одна причина для изменения, а это означает, что у класса должна быть только одна работа.
Принцип открытости-закрытости. Это означает, что программные объекты (классы, модули, функции и т. Д.) Должны быть открыты для расширений, но закрыты для модификации. Если у вас есть общее представление об ООП, вы, вероятно, уже знаете о полиморфизме. Мы можем убедиться, что наш код соответствует принципу открытости / закрытости, используя наследование и / или реализуя интерфейсы, которые позволяют классам полиморфно заменять друг друга.
Принцип замещения Лискова. Этот, вероятно, самый сложный, чтобы осознать, когда его впервые представляют. В нем указано, что если S является подтипом T, то объекты типа T может быть заменен (или заменен) объектами типа S. Другими словами, каждый подкласс / производный класс должен заменять свой базовый / родительский класс.
Принцип разделения интерфейса. Фактически, если вы привыкли использовать интерфейсы, скорее всего, вы уже применяете этот принцип. В нем говорится, что ни один клиент не должен зависеть от методов, которые он не использует. Не добавляйте дополнительные функции к существующему интерфейсу, добавляя новые методы. Вместо этого создайте новый интерфейс и позвольте вашему классу реализовать несколько интерфейсов, если это необходимо.
Принцип инверсии зависимостей. Это способ разделения программных модулей.
Этот принцип гласит:
- Модули высокого уровня не должны зависеть от модулей низкого уровня. Оба должны зависеть от абстракций.
- Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
Заключение
Поначалу SOLID может показаться горсткой, но при постоянном использовании и соблюдении его рекомендаций он становится частью вас и вашего кода, который можно легко расширять, изменять, тестировать и реорганизовать без каких-либо дополнительных затрат. проблемы.
Применяя эти 5 принципов, составляющих аббревиатуру SOLID, мы получаем выгоду от многократно используемой, обслуживаемой, масштабируемой и легко тестируемой базы кода.
Это 5 основных принципов, используемых профессиональными инженерами-программистами повсюду. земного шара, и если вы серьезно относитесь к созданию программного обеспечения SOLID, вам также следует начать применять эти принципы.
С помощью: