Ответственность и DRY, KISS
Пишу преимущественно на .NET(Core, Xamarin)
. Сейчас работаю над проектом с фронтом на React JS
(фронт тоже я пишу), и словил себя на мысли, что много повторяю код похожий друг на друга, то есть нарушаю DRY
.
И казалось бы нет проблемы вынести всё похожее куда то в одно место, разнести по dependency сервисам и т.п., но я боюсь последствий в лице принципа единственной ответственности в случае расширения функциональности.
И так вопрос, банально, я создаю методы по работе например с контроллером пользователя:
Index
- лист юзеровCreate
- создаемEdit
- редактируем
Для edit
и create
я создаю отдельные как action
так и view
компоненты реакта, которые достаточно похожи друг на друга, отличия минимальны, не большая разница в наличии данных(id, active, etc
) viewmodel
и набором методов по манипуляциям с БД. Дополнительно я создаю для индекса например UsersViewModel
и для edit\create
общую UserViewModel
.
Правильно ли я делаю или стоит использовать один action
и один view
с ветвлениями?
Под ветвлениями я подразумеваю ряд проверок на предмет что сейчас происходит create\edit
. Тоже самое и на view
, один компонент для всего. Но это по мимо ответственности может еще и нарушать KISS(Keep it simple, stupid)
.
Поделитесь опытом.