У меня есть приложение ASP.NET MVC 1, которое использует NHibernate и Castle Windsor для IoC.В контроллеры вводятся классы обслуживания, и эти классы обслуживания обрабатывают всю логику и действия, требуемые приложением.У классов обслуживания есть введенные репозитории.Каждый репозиторий обрабатывает один объект.Объекты отображаются в таблицу БД через NH.Я пытался сохранить отношения один к одному между службами и контроллерами, но некоторые службы используются более чем в одном контроллере.
Проблема заключается в том, что некоторые службы теперь имеют зависимости от 10-15 хранилищ.Например, в системе есть компонент выставления счетов, в котором определенные действия зависят от пользователей, клиентов, рабочих заданий, отдельных позиций рабочего задания, счетов-фактур, отдельных позиций счетов, налогов и т. Д.
Какие стратегии используют люди для эффективного рефакторингакогда дело доходит до перегрузки зависимости?Я подумываю о том, чтобы разделить один сервис на множество сервисов и удалить попытку «один к одному» между сервисами и контроллерами.Но тогда зависимости на уровне контроллера увеличатся.Разделение одного контроллера на несколько контроллеров возможно с предварительным предложением, но я не верю, что это сделано, если вы не разбиваете представления на частичные представления?Я понимаю, что это широкий вопрос, но я больше ищу руководство, чем точные ответы.Не стесняйтесь указывать ссылки на статьи или примеры аналогичного рефакторинга.