Правильно ли использовать методы из одного компонента (компонента) в другом компоненте? - PullRequest
0 голосов
/ 25 октября 2019

Это в основном вопрос об архитектуре приложения.

У нас есть сервисный уровень (@Service HelloService) и компонент, который использует сервисные методы (@Component HelloBean, с автопроводом HelloService). В сервисе есть много методов, и HelloBean объединяет много методов из сервиса в один метод. Итак, мы используем этот единственный метод.

И у нас есть еще один компонент (@Component GoodbyeBean). И мы хотим использовать единственный метод из HelloBean и должны автоматически связать HelloBean в GoodbyeBean, чтобы использовать этот метод.

Правильно ли использовать один компонент в другом, или мы должны создать какой-нибудь новый сервис (например, @Service GoodbyeService) и повторить весь код из HelloService? Или мы должны автоматически подключить HelloService в GoodbyeBean и повторить весь код из HelloBean?

Я понимаю, что Spring IoC содержит все эти компоненты, и мы можем использовать все в контексте Spring.

Что является правильным способом

Ответы [ 2 ]

1 голос
/ 25 октября 2019

Если вы вызываете метод HelloBean, который вызвал несколько методов HelloService, тогда лучше вызывать эти методы из GoodByeBean, а точнее, если нет изменений кода или чего-либо еще, тогда используйте HelloBean и вызывайте один и тот же метод.

Если это какой-либо другой метод, который не вызывает метод, который мы рассматривали ранее, то, я думаю, можно вызвать метод HelloBean из GoodByeBean. Иногда может случиться так, что вам придется вызывать методы из одного и того же логического слоя.

Или, как предложено @Ankita Agrawal, скопировать метод в другой класс и вызвать метод из HelloBean и GoodByeBean.

1 голос
/ 25 октября 2019

Я думаю, вам не следует вызывать HelloBean в GoodByeBean, потому что, как следует из названия, он противоположен и будет вводить в заблуждение любого другого человека.

Если в HelloBean и GoodbyeBean есть некоторый общий код, переместите его в новый сервис, который можно назвать GreetingService, а затем вызовите этот метод из HelloBean и GoodbyeBean

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