Каково различие между уровнем представления и пользовательским интерфейсом?
Они близки по исполнению, но идут со всех сторон. Они нечетко определены, в зависимости от конкретного контекста, они могут быть почти идентичными или лишь незначительно перекрываться.
Уровень представления - это термин в таксономии кода и связанных ресурсов.
Пользовательский интерфейс - это реализация предполагаемого взаимодействия с пользователем с точки зрения макета страницы, переходов между страницами и элементов управления страницей. (Я здесь свободно использую «страницу» - вы можете заменить ее на «форма» или «окно»).
Это различие важно, если учесть, как создается пользовательский интерфейс. Если вы исходите из кода, вы в основном работаете с потребностями и механизмами кода - какие данные нужно показать? и каким образом ваш код может это изменить?
Если вы пришли от пользователя, скорее всего, вопросы будут какие данные нужны пользователю? и какие данные пользователь хочет изменить?
(Первый не обязательно хуже - он идеально подходит для пользователей, которые имеют хорошее представление о внутренней работе приложения, и часто упрощает использование всех возможностей кода.)
Ссылка в ответе Джона относится к модели OSI, которая не является термином, предназначенным здесь ИМХО.
Я думаю, что уровень представления и пользовательский интерфейс частично совпадают, хотя и не на 100%.
Сформируйте один угол: Термин уровень представления предполагает многоуровневую структуру в приложении, а термин UI ничего не говорит о внутренней структуре приложения.
С другой стороны: Термин UI может включать только набор элементов управления и их обработчики событий, тогда как термин уровень представления может включать некоторые более глубокие невизуальные части приложения, такие как ViewModels или Presenters.
Вот моя собственная интерпретация:
Уровень представления в общих чертах относится к уровню, который каким-то образом отвечает за отображение данных для пользователей. Об этом часто говорят в контексте архитектуры программного обеспечения вместе с другими уровнями, такими как уровень сохраняемости, уровень бизнес-логики и т. Д., И редко сам по себе.
Пользовательский интерфейс просто относится к точке взаимодействия между пользователями и некоторыми программами. Пользовательский интерфейс не всегда должен иметь хорошие графические возможности окон. Консольная программа, которая запускается в командной строке, также имеет пользовательский интерфейс, но не графический.
Презентационный уровень доставляет информацию на прикладной уровень для отображения.
Презентационный уровень в некоторых случаях выполняет перевод данных для использования в конкретной системе.
Пользовательский интерфейс показывает данные после того, как презентационный уровень выполнил все необходимые преобразования.
Подробнее здесь: http://en.wikipedia.org/wiki/Presentation_Layer