Уровень представления должен находиться за интерфейсами, которые обрабатывают как представление, так и получение. Основная причина в том, что если у вас было два интерфейса, один для представления, а другой для получения, то теоретически возможно получить два разных объекта, назначенных каждому, что вызывает странность в тестировании.
Однако, если ваш интерфейс развивается в десятки методов, вы можете отступить назад и взглянуть на разделение его на более мелкие единицы, а затем объединить их. Не обязательно на основе получения и представления, но более логичных разделов вашего пользовательского интерфейса презентации.
Например, у вас может быть IPresentationUI с двумя переменными: одна представляет собой интерфейс IPresentationDisplay, а другая - IPresentationControl. Единственная ваша процедура регистрации примет объект IPresentationUI. Класс, реализующий уровень Prensentation, будет реализовывать три интерфейса IPresentationUI, IPresentationControl и IPresentationDisplay.