supuesto: controlador Producto Acción Agregar producto
La acción de agregar, editar, eliminar, la ejecutas en el mismo controlador ya que son acciones que están vinculadas a ese ítem.
La vista es una archivo aparte que contiene la presentación del modelo o sea es básicamente HTML y PHP JS CSS. Por ende se sugiere que este en un directorio de vistas bajo un directorio que tenga el nombre del controlador y que se llame agregar por ejemplo para que sea un nombre significativo. Luego tienes que crear una clase que maneje estos archivos que se encargue de buscarlos y cargarlos para visualizarlos. 
Una manera podrías ser esta.    
Código PHP:
Ver original- class ProductoController  
- { 
-    public function addAction()  
-     {   
-    //definicion de variables de la action, importar clases que puedas ocupar para solicitar informacion a la bd. 
-   
-    //procesar el request con los datos del form que enlazan al controlador y la accion. 
-   //invocar el modelo que contiene la logica para guardar los datos en la base de datos 
-   $model = new Model_Productos(); 
-   $model->agregarProducto($form->getValues() o $request->getPost() o $_POST); 
-   
-  //una vez que se agrego el producto redirecciono al usuario al index para mostrarle los productos que ha agregado 
-  $this->redirect('/producto/'); //la acción por defecto podria ser index, solo si tuvieras un metodo que redireccione. 
-   
-   //cargar contenido el formulario 
- //esto ira colocado en el action del formulario de esta manera <form  action='<?php echo $this->controller.'/'.$this->action;?>' /> 
-   $view = new View(); 
-   $view->action = 'add';  
-   $view->controller='producto'; 
-   
-   $view->form = $form; //esto si tuvieras una clase que te genere los formularios sino no lo agregas. 
-   
-  $view->setLayout('ruta/a/formulario/agregar/del/controlador/producto'); 
-  $view->render();//mostrar el formulario en la pagina. 
-   } 
-   
- } 
Algo asi espero te pueda ayudar.