For the application I'm working on I want to have give the user one home page if they're logged in and one if they're logged out (marketing stuff mostly). I could have just redirect the user to /index/public/ (I've worked on a project where this was done) but it's an extra page load the isn't really needed. To combat this I dynamically switch the user over to a different view script:

if(!$userLoggedIn){
    $viewModel = new \Zend\View\Model\ViewModel();
    $viewModel->setTemplate('application/index/public.phtml');
}

Then you just need to create that view file.