La programación es compleja.
La aplicación RAD típica tiene formularios con código en controladores de eventos, módulos de datos con consultas y ninguna clase.
Puede escribir cientos de aplicaciones como esa y aprender solo cómo usar varios componentes y sus propiedades y eventos.
Este es el principal problema con Delphi, es fácil y natural hacer las cosas mal. RAD = MALO Lamentablemente, probablemente el 90% de las aplicaciones se escriben así.
Entonces, ¿qué tiene de malo este enfoque? Falta una arquitectura. ¿Por qué es eso malo? No es resistente a cambios. Cuando cambien sus requisitos, tendrá que hacer más cambios de los que haría con una aplicación diseñada correctamente.
Ahora es bien aceptado que las aplicaciones se deben estructurar en capas.
separación típica de capas es objetos
- Negocios/reglas
- mapeo de datos/persistencia
- GUI
Con Capa de negocio limpiamente separado que puede tener Win32 GUI, interfaz gráfica de usuario Web, Dispositivo móvil GUI ...
Con la capa de persistencia limpiamente separada puede Las mismas capas de Negocio y GUI cambian de decir Interbase a Postgreso.
También es mucho más fácil escribir pruebas.
Ahora déjame advertirte ahora, este es un camino largo y difícil de tomar. Te llevará años dominar y nunca estarás completamente hecho.
Cuando haces que tu aplicación esté bien diseñada y estas capas se configuran, y lo haces funcionar, y se lo muestras emocionado a tus colegas, te darán una apariencia extraña y dirán: Bueno, dejé esta consulta en la forma, ejecuta y se ve igual. Pero sabrás mejor.
No estoy de acuerdo con las sugerencias para aprender otro idioma. Es decir, en mi humilde opinión, simplemente pasar el problema. La habilidad para organizar y estructurar adecuadamente su aplicación es independiente del idioma. Cualquier lenguaje verdadero de OO es suficiente, así que no hay necesidad de aprender otro en este punto.
Tampoco creo que mirar la fuente de VirtualTreeView o controles similares le enseñará mucho. Aprenderá sobre Winapi, pero si bien es útil, eso no ayudará con el diseño de la aplicación.
Para resumir, busque en google recursos sobre diseño de aplicaciones, objetos comerciales, arquitectura, OPF, patrones y pruebas.
Esta pregunta está en el límite 'subjetiva e incontestable'. –
Quizás sea así, pero creo que será información útil para ayudar no solo a mí mismo sino a los demás. – Simon
Es útil, pero no puede responderse objetivamente. Se votó para cerrar y pasar a Programadores SO, donde pertenecen tales preguntas subjetivas. –