В случае, когда создание довольно серьезного программного продукта потребует многих усилий и большого ресурса, вполне логично было бы предположение, что все эти части такой сложной и громоздкой системы тесно связаны между собой. Тогда возникает вопрос, а зависит ли сам интерфейс, которым руководствуется пользователь от самого способа организации и построения других компонентов, которые используются в Web-приложении. Таким образом, на самом деле это практически не так.
Это становится особо важным потому, что именно сама эта особенность помогает программистам, разработчикам и специалистам по созданию интерфейсов применять свои практические знания и благодаря этому проводить анализ интерфейса программы независимо от того, при помощи какого языка она была написана, и, естественно, в каком окружении ей предстоит работать. Для того чтобы можно было убедиться в этом, необходимо знать хотя бы немного теории. При этом большая часть профессионально созданных программных продуктов, которые предназначаются для работы непосредственно с самими пользователями, построена при помощи базовой модели MVC.
Моделью MVC является способ построения разрабатываемого приложения при помощи трех основных базовых компонентов. Этими компонентами являются, модели (M) определяющие уровень хранения данных, представление (V) определяющее уровень внешнего вида всех данных которые отображаются пользователю и контроллер (C), который определяет уровень компонентов, которые в свою очередь реализуют логику всего приложения. Все эти уровни разделяются по своему расположению. Также существует и компьютер пользователя, и, естественно сам сервер, благодаря которому обрабатывается вся информация. Непосредственно сам сервер, на основании определенного набора данных и инструкций в результате возвращает HTML-страницу. После этого сам пользователь совершает какое-нибудь определенное действие на используемой странице, и та, таким образом, снова обращается к исходному серверу. При этом, что бы данная система не пыталась сделать на сервере, пользователю обратно возвращается очередная, уже сгенерированная HTML-страница. Благодаря этому, результат для пользователя будет всегда одинаковым, как при использовании скриптового языка ASP в непосредственном сочетании с MS SQL Server, так и при собственно, использовании языка РНР с MySQL.
Но, далеко не все системы, которые построены для работы в Web-приложениях, организованы по описанной выше модели MVC. Иногда, в отдельных случаях сам процесс разделения на уровни может носить весьма условный характер. К примеру, может существовать некая база данных, которая хранит объекты и, тем самым определяет собственно объектную модель, своеобразный набор скриптов, одна часть которых отвечает за процесс представления, (производит генерацию HTML-кода), а другая определяет общие правила работы всей системы с пользователем. В этом процессе, частным случаем будут являться статические HTML-страницы, которые не изменяются на протяжении всего времени работы пользователя. На этом принципе построено большое количество персональных сайтов в сети, размещенных на бесплатных хостингах. В данном случае, на статической странице находятся и объекты, и представление. Таким образом, независимо от выбранного разработчиком способа общей организации сайта, пользователи работают с одними и теми же компонентами, такими как визуальные компоненты страниц, операционная система и браузер. Само по себе это является весьма важным и положительным обстоятельством. Это обстоятельство развязывает руки у программиста, у разработчика интерфейса. Это и является данной особенностью создания интерфейса сайтов.