А как у вас в приложениях в админке организованы операции CRUD? Вот у меня в CMS'ке примерно так:
есть классы *Listers (вывод списком или деревом) и *Managers (создание, редактирование, удаление). Общие части (например пагинация, сортировка) в ListerCommon отправлена. Его наследуют листеры, переписывают 2-3 метода (получение данных о кол-ве элементов, список элементов для текущей страницы, дополнительный парсинг строк).
Что не нравится: то, что много шаблонов приходится делать. Каждый раз шаблон с формой, и со списком.