Хотите знать, почему для класса хорошо иметь одну и только одну причину для изменения? если да, то эта короткая и четко сформулированная статья будет использовать реальный пример для объяснения одного из принципов объектно-ориентированного проектирования Роберта К. Мартина.
Прежде чем перейти к основной теме этой статьи, мы сначала рассмотрим аббревиатуру SOLID.
SOLID — это аббревиатура первых пяти принципов объектно-ориентированного проектирования Роберта К. Мартина.
Эти пять принципов состоят из методов, которые позволяют разрабатывать программное обеспечение с учетом масштабируемости и обслуживания.
SOLID означает:
S. Принцип единой ответственности
O. Принцип открытого-закрытого
Принцип замещения Л. Лисков
I. Принцип разделения интерфейсов
D. Принцип инверсии зависимостей
В этой статье мы рассмотрим один из пяти принципов объектно-ориентированного проектирования (SRP).
Что такое принцип единой ответственности?
SRP — это принцип объектно-ориентированного программирования, согласно которому у класса должна быть только одна причина для изменения. Это означает, что класс должен иметь одну ответственность, а не две или более.
Это делает код удобным для сопровождения, расширяемым и более простым для понимания другими, работающими над проектом или кодовой базой.
Пример того, что не является SRP:
Приведенный выше пример нарушает SRP, поскольку вы можете видеть, что у класса User есть несколько обязанностей, таких как проверка, регистрация, вход в систему и сброс пароля.
Представьте, что если мы добавим новую функцию в этот класс, это приведет к модификации против чего выступает SRP.
Пример того, как должен выглядеть SRP:
В приведенных выше примерах мы разделили обязанности на разные классы. Это соответствует принципу единой ответственности.
Этот простой и краткий пример того, как SRP может иметь важное значение для улучшения разработки, не должен ограничиваться только большими проектами, попробуйте использовать этот принцип даже в небольших проектах, потому что чем лучше и чище выглядит кодовая база, тем проще становится ремонтопригодность.
Надеюсь, вы смогли найти эту статью полезной, поскольку мы, люди, не безошибочны в этом, если вы считаете, что что-то должно быть добавлено или удалено, пожалуйста, поделитесь своими мыслями в качестве ответа.