que milagro que andas por aqui royrojas
, en cuanto a tu ejemplo no se ve mal la implementación que tienes aunque como comentario se puede optimizar todavía más ya que no hay manejo de caching en objetos, y en vez de usar los nombres de los tipos (if, then, etc) se pueden trabajar directamente con interfaces, etc, es por ello que te recomiendo que te bajes el Enterprise Library de microsoft y le heches un ojo al de datos para que veas a lo que me refiero.
Cita: a los admins si gustan pueden poner el ejemplo en los faqs del sitio.
cualquier puede colocar una faq man.
Saludos y cualquier comentario será bienvenido