Puedes usar algún framework para desarrollar aplicaciones de escritorio.
O puedes hacer tu aplicación siguiendo el algún patrón de desarrollo.
Por ejemplo, separar el manejo de la base de datos, la interfaz gráfica y la lógica de tu programa. (
Modelo-Vista-Controlador)