Имея большой сервис (с его бизнес-логикой c) со многими методами (назовем его BigService), я бы хотел разделить этот сервис на более мелкие. У меня есть контроллер, который вызывает этот BigService. Я хотел бы разделить этот BigService на более мелкие, поэтому я думаю, что у меня есть два подхода:
Выйдите из класса BigService и извлеките из него меньшие сервисы по функциональности, а затем из этого вызова BigService эти меньшие услуги. Так что BigService будет похож на Прокси или делегат других сервисов. С этой опцией:
- Преимущество использования этой опции в том, что мне не нужно менять вызовы с контроллера на BigService, только вызовы внутри BigService
- я бы избегал циклических ссылок некоторыми службами в зависимости от других
Удалите класс BigService и создайте новые меньшие службы. При этом:
-Недостаток использования этой опции заключается в том, что мне придется изменить вызовы с контроллера на эти меньшие службы
- некоторые службы могут выполнять циклические ссылки в зависимости от других единицы и наоборот
Какой, на ваш взгляд, лучший подход ?? Спасибо !!