Рефакторинг[В стадии разработки]:
- Цель: удалить кучу пустых репозиториев. Причина: отсутсвие в их расширении.
- MailNotificationService
Цель: удалить catch. Причина: одинаковая реализация во всех обработчиках. Цель: использовать BillingType.
- EmailManagerService
Цель: Добавить к модели валидацию через атрибуты
- IBaseRepository добавить внедрение :
Цель: Bind(typeof(IBaseRepository<>)).To(typeof(BaseRepository<>));
- Цель: Заменить реализацию UnitOfWork на Storage. Причина: Unit of Work становится очень большим (fat).
- Цель: Добавить глобальный фильтр для исключений.
- FilmDetailedInfoService
Цель: удалить комментарии.
- PermissionService and RoleService
Цель: добавить интерфейс и сделать binding. Цель: удалить комментарии.
-
Цель: добавить атрибуты авторизации. Причина: ограничить доступ к API.
-
LoggService:
Цель: убрать захордкоженный путь. var path = HostingEnvironment.MapPath("~/App_Data/Logs/2018-06-08.log");
- Множество моделей дублируется
- Существует пустые интерфейсы и пустые классы (репозитории, которые не расширены дополнительными методами).
Заметки: пустой интерфейс может быть использован в качестве маркера. (Например в DDD: IAggregateRoot - использовался Microsoft разработчиками в качестве маркера).
- Существуе классы, которые нарушает S. (в слое сервисов)
- UnitOfWork очень много репозиториев.