Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

SOLID

Принципы:

  • SRP: Single Responsibility Principle (принцип единственной обязанности-ответственности)
    • Каждый класс выполняет одну функцию. Решать одну проблему хорошо
    • Класс должен иметь одну и только одну причину для модификации
  • OCP: Open/Closed Principle (принцип открытости/закрытости)
    • Объекты проектирования (классы, функции, модули и т.д.) должны быть открыты для расширения, но закрыты для изменения
    • Изменения могут сломать уже работающую логику
  • LSP: Liskov Substitution Principle (принцип подстановки Барбары Лисков)
    • Вместо родительского класса можно подставить дочерний, при этом в работе приложения не возникнет ошибок - наследовани в ООП
  • ISP: Interface Segregation Principle (принцип разделения интерфейса)
    • Лучше разработать много узкоспециализированных интерфейсов, чем один общего назначения. Например, можно создать несколько интерфейсов, которые поддерживают разные типы оплаты
    • Это делает архитектуру более гибкой и упрощает тестирование приложения
  • DIP: Dependency Inversion Principle (принцип инверсии зависимостей)
    • Код должен иметь как можно меньше зависимостей. Это позволяет вносить изменения в компоненты без риска повлиять на работу других частей приложения