Это нормально иметь класс, который контролирует другие классы? - PullRequest
0 голосов
/ 23 апреля 2020

Допустим, в моем проекте у меня есть классы Интерфейс, Сеть, База данных и Посредник.

Например, когда я нажимаю «Отправить» в Интерфейсе, он говорит с Посредником и вызывает функцию «Отправить» который затем будет общаться с классом Network и классом Database для отправки чего-либо и сохранения этого или чего-либо еще.

Если я удалю класс Mediator, из Interface мне придется общаться с двумя отдельными классами, Network и Database независимо .

Дело в том, что я думаю, что наличие класса Mediator нарушает принцип единой ответственности, то есть класса, который хранит 3 других класса (интерфейс, базу данных и сеть) и управляет всеми взаимодействиями между ними, это не большой класс, но есть ли лучший способ? Должен ли я независимо ссылаться в каждом классе на каждый другой класс, который мне нужен? Спасибо

1 Ответ

0 голосов
/ 23 апреля 2020

Принцип единой ответственности означает, что субъект не должен выполнять действия, выходящие за рамки его предназначения. Вы указываете цель своего класса Посредника, и пока вы придерживаетесь его цели, вы не нарушаете принцип.

Здесь я приведу пример того, как вы нарушили бы этот принцип. Скажем, вам нужна новая функциональность, связанная с базой данных. Если по какой-либо причине вы в конечном итоге реализуете эту функциональность в классе Mediator, в этом случае вы нарушите этот принцип.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...