Содержание
SOLID — это акроним для пяти принципов объектно-ориентированного программирования (Single responsibility, Open–closed, Liskov substitution, Interface segregation и Dependency inversion). Следование принципам SOLID позволяет создавать программные продукты, которые будет легко поддерживать и расширять в течение долгого времени.
Зачем изучать принципы SOLID?
Как разработчики, мы начинаем создавать приложения, используя свой опыт и знания. Cо временем в приложениях могут возникать ошибки, при добавлении новых функций в приложение мы должны вносить изменения в дизайн приложения. Если мы проектируем приложение, не придерживаясь никаких правил и принципов («пишу, как вижу»), то через какое-то время нам может потребоваться приложить немало усилий даже для выполнения простых изменений в исходном коде без полного понимания работы всей системы. Принципы SOLID помогают нам выстраивать дизайн проекта таким образом, чтобы программный продукт можно было легко поддерживать, вносить в него изменения и добавлять новую функциональность.
При этом, принципы SOLID — это общие принципы ООП, применимые во многих языках программирования, не только в C#.
Основные причины создания неудачных приложений?
Можно выделить две основные причины создания неудачных приложений:
- Добавление дополнительных функций в классы. В один класс добавляется множество функций, которым могут быть даже не связаны с этим классом.
- Реализация жёсткой связи между компонентами программного обеспечения (между классами). Если классы зависят друг от друга, изменение одного класса повлияет и на другой.
Способы преодоления проблем с неудачной разработкой приложений?
- Нам нужно использовать правильную архитектуру (например, MVC, MVVM, MVP и так далее) в соответствии с требованиями проекта.
- Как разработчики, мы должны следовать принципам проектирования (например, принципам SOLID).
- Мы должны выбрать правильные шаблоны проектирования в соответствии с требованиями проекта.
Каковы принципы SOLID?
Принципы проектирования SOLID используются для решения большинства проблем проектирования программного обеспечения, с которыми, обычно, сталкиваются разработчики в повседневной работе.
Принципы проектирования SOLID представляют собой пять принципов проектирования, которые используются для того, чтобы сделать проектирование программного обеспечения более понятным, гибким и удобным в обслуживании.
Пять принципов проектирования SOLID:
- S означает принцип единственной ответственности (или принцип единственной обязанности), также известный как SRP (Single Responsibility Principle). У каждого программного модуля или класса должна быть только одна причина для изменения
- O означает принцип открытости-закрытости, также известный как OCP (Open-Closed Principle). Сущности (классы) должны быть открыты для расширения, но закрыты для модификации.
- L означает принцип подстановки Лисков, также известный как LSP (Liskov Substitution Principle). Объект производного класса должен иметь возможность заменять объект базового класса, не вызывая ошибок в системе и не изменяя поведение базового класса.
- I означает принцип разделения интерфейсов, также известный как ISP (Interface Segregation Principle). Клиенты не должны реализовывать методы, которые они не используют
- D означает принцип инверсии зависимостей, также известный как DIP (Dependency Inversion Principle). Сущности более высокого уровня не должны зависеть от сущностей более низкого уровня. И те и другие должны зависеть от абстракций.
Применение принципов SOLID при разработке приложений может сделать код приложения более простым для понимания и менее подверженным ошибкам при внесении изменений. Применение этих принципов позволяет нам создавать программное обеспечение, которое легко поддерживать и расширять, а также лучше адаптироваться к будущим изменениям.
В следующих частях мы рассмотрим каждый из этих принципов подробно на примерах.