Проще говоря, ваш уровень пользовательского интерфейса имеет дело только с пользовательским интерфейсом и сотрудничает со следующим уровнем (возможно, вашим бизнес-уровнем). Ваш бизнес-уровень и уровень данных (и любые другие имеющиеся у вас уровни) никогда не должны содержать никакого кода пользовательского интерфейса, поскольку это задание уровней пользовательского интерфейса.
Подумайте о том, как работает веб-браузер, браузер является слоем пользовательского интерфейса и занимается рендерингом вашей страницы и ничего больше. Когда что-то должно произойти, он обращается к веб-серверу (следующему слою), чтобы сделать это, и затем отображает результаты.
Попробуйте поискать в Google некоторые известные шаблоны пользовательского интерфейса:
MVC
MVP
Диалоговое окно «Скромный»