Skip to content

aliaksandr-liashkevich/Workshops.HW

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Workshops.HW

Epam. Lab. Homeworks

Рефакторинг[В стадии разработки]:

  1. Цель: удалить кучу пустых репозиториев. Причина: отсутсвие в их расширении.
  2. MailNotificationService

Цель: удалить catch. Причина: одинаковая реализация во всех обработчиках. Цель: использовать BillingType.

  1. EmailManagerService

Цель: Добавить к модели валидацию через атрибуты

  1. IBaseRepository добавить внедрение :

Цель: Bind(typeof(IBaseRepository<>)).To(typeof(BaseRepository<>));

  1. Цель: Заменить реализацию UnitOfWork на Storage. Причина: Unit of Work становится очень большим (fat).
  2. Цель: Добавить глобальный фильтр для исключений.
  3. FilmDetailedInfoService

Цель: удалить комментарии.

  1. PermissionService and RoleService

Цель: добавить интерфейс и сделать binding. Цель: удалить комментарии.

  1. Цель: добавить атрибуты авторизации. Причина: ограничить доступ к API.

  2. LoggService:

Цель: убрать захордкоженный путь. var path = HostingEnvironment.MapPath("~/App_Data/Logs/2018-06-08.log");

Итог:

SOLID:
  1. Множество моделей дублируется
  2. Существует пустые интерфейсы и пустые классы (репозитории, которые не расширены дополнительными методами).

Заметки: пустой интерфейс может быть использован в качестве маркера. (Например в DDD: IAggregateRoot - использовался Microsoft разработчиками в качестве маркера).

  1. Существуе классы, которые нарушает S. (в слое сервисов)
  2. UnitOfWork очень много репозиториев.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published