Считается ли плохим дизайном создание пользовательских элементов управления «черного ящика», которые напрямую взаимодействуют с сервисным уровнем (для выполнения операций CRUD, проверки и т. д.)?
Под «черным ящиком» я подразумеваю, что они извлекают/сохраняют данные независимо от страницы, на которой они размещены (используя службы, внедренные IoC). Каждую UC можно перетащить на страницу, и она просто работает. Имейте в виду, что ни в один из этих UC не встроена бизнес-логика (это все на уровне предметной области).
Такой подход был обусловлен двумя факторами:
- В нашем приложении много страниц, которые по сути являются вариантами одного и того же вида (с немного разными макетами).
Кроме того, наш дизайнер пользовательского интерфейса любит открывать отдельные части страницы для редактирования. Нажмите здесь, чтобы проиллюстрировать эту концепцию.
В любом случае, казалось, что предоставление UC возможности/ответственности за рендеринг и сохранение самих себя избавит от дублирования кода.
Если этот подход действительно считается «неприглядным», пожалуйста, не стесняйтесь предлагать альтернативный, более привлекательный (возможно, MVP?). Я застрял с WebForms в обозримом будущем.
Спасибо!