02.12.2023
442
Эти принципы представляют собой набор принципов, которые гарантируют, что код, который мы пишем, будет понятен, открыт для инноваций и минимально повторяется.
Цель этих принципов:
Быстрая адаптация кода, который мы пишем, под новые требования в будущем;
Новые функции можно добавлять без серьезных изменений в коде;
Избегание дублирования кода.
ТВЕРДЫЙ. принципы заключаются в следующем:
Принцип единой ответственности (SRP) - Принцип единой ответственности
Принцип открытия-закрытия (OCP) – Принцип открытия-закрытия
Принцип замены Лискова (LSP) - Принцип замены Лискова
Принцип разделения интерфейсов (ISP) — Принцип разделения интерфейсов
Принцип инверсии зависимостей (DIP) - Принцип обращения зависимостей
Принцип единой ответственности — (Принцип единой ответственности)
Цель этого принципа — заставить класс или метод что-то сделать.
Коды можно писать в классе только для одной цели, например, пусть это будет класс, в котором мы пишем CRUD-операции, цель этого класса — хранить только CRUD-операции, мы нарушим принцип.
Принцип открытости-закрытости — (Принцип открытости-закрытости)
Цель этого принципа в том, чтобы класс был связан с изменениями, но открыт для инноваций. То есть наш проект должен быть открыт для инноваций, но при этом наш базовый класс не должен меняться.
Принцип замены Лискова — (Принцип замены Лискова)
Базовые методы, которые будут одинаковыми во всех классах, прописаны в базовом классе, а методы, которые будут меняться в зависимости от ситуации, прописаны в интерфейсах и вызываются при необходимости. Используется для предотвращения использования ненужных инструментов.
Принцип разделения интерфейсов
Это делается для того, чтобы избежать беспорядка за счет втиснения в интерфейс методов, которые делают только одно действие. В этом принципе, который похож на принцип единой ответственности, методы, выполняющие одну работу, записываются в интерфейсе, поэтому ненужные методы не вызываются во время реализации.
Принцип инверсии зависимостей
Согласно этому принципу классы, методы и модули верхнего уровня не должны зависеть от классов нижнего уровня.Любые изменения, сделанные в нижних классах, не должны влиять на верхние классы.