ВВЕДЕНИЕ В ПРИНЦИПЫ SOLID НА ПРИМЕРЕ С#. ЧАСТЬ 1 - SRP

SOLID - 5 принципов ООП, описывающих архитектуру приложения. Данные принципы в отличии от паттернов не загоняют в определённые рамки проектирования, они являются, но их использования позволяют писать код, который легче читать, изменять и поддерживать. Каждая буква акронима отвечает за отдельных принцип:

  • Single Responsibility Principle (Принцип единственной ответственности)
  • Open/Closed Principle (Принцип открытости/закрытости)
  • Liskov Substitution Principle (Принцип подстановки Лисков)
  • Interface Segregation Principle (Принцип разделения интерфейсов)
  • Dependency Inversion Principle (Принцип инверсии зависимостей)
Принципы SOLID
Принципы SOLID

S (SRP). Принцип единственной ответственности

Данный принцип гласит о том, что класс, структура или метод должны выполнять одно действие/задачу. Каждый модуль программы должен содержать только те параметры, которые необходимы для выполнения конкретной задачи. Рассмотри следующий пример нарушения принципа единственной ответственности

ВВЕДЕНИЕ В ПРИНЦИПЫ SOLID НА ПРИМЕРЕ С#. ЧАСТЬ 1 - SRP

Принцип единственной ответственности нарушается в методе Send MessageToClient. Класс Client должен отвечать за базовые операции с клиентом, например, создание или изменение. Метод для отправки сообщения нарушает принцип SRP, так как класс теперь отвечает не только за базовые операции с клиентом, но и за отправку ему сообщения. При изменении способа отправки сообщения (например, изначально сообщение отправлялось на почту, а теперь в личный кабинет в уведомление) разработчику придется менять класс Client.

Чтобы принцип единственной ответственности не был нарушен, необходимо вынести метод в отдельный класс.

Рассмотрим еще один пример на том же классе Client, но уже в методе создания пользователя.
Рассмотрим еще один пример на том же классе Client, но уже в методе создания пользователя.
ВВЕДЕНИЕ В ПРИНЦИПЫ SOLID НА ПРИМЕРЕ С#. ЧАСТЬ 1 - SRP

Проблема данного метода заключается в том, что весь процесс работы с БД происходит в методе, который должен отвечать только за создание пользователя. Чтобы исправить данный код, необходимо вынести работу с БД в отдельный класс.

ВВЕДЕНИЕ В ПРИНЦИПЫ SOLID НА ПРИМЕРЕ С#. ЧАСТЬ 1 - SRP

Заключение

Таким образом, принцип единственной ответственности позволяет разграничить логику выполнения различного функционала в приложении, также данный принцип позволяет работать над этим уникальным производным классом, будучи уверенными, что любые изменения, которые мы внесем в него, не повлияют на родительский или любой другой производный класс.

Список использованных источников

  1. Принципы SOLID. Принцип единственной обязанности. URL: https://metanit.com/sharp/patterns/5.1.php
  2. S.O.L.I.D. Principles of Object-Oriented Programming in C#. URL: https://www.educative.io/blog/solid-principles-oop-c-sharp
  3. Принципы SOLID в C#. URL: https://professorweb.ru/my/it/blog/net/solid.php
  4. Опасность нарушения принципов SOLID в C#. URL: https://learn.microsoft.com/ru-ru/archive/msdn-magazine/2014/may/csharp-best-practices-dangers-of-violating-solid-principles-in-csharp
22
1 комментарий

очень интересно и познавательно

Ответить