Estoy de acuerdo con Roman (y no es de chupamedias
), para mis ABMs yo me cree una clase ancestra con los procedimientos y funciones básicas para el manejo de datos (Búsqueda, alta, modificación y eliminación de registros, etc).
De esta manera simplifico mucho la tarea así como el control de errores. Mas que una alternativa me parece algo a tomar en cuenta.