Aquí hay algunos conceptos que uso en mi trabajo a diario:
- Programación orientada a objetos: tener la capacidad de reconocer cuando se almacenan datos en un grupo de variables dispersas y manipularlas con funciones en realidad debe diseñarse como una clase (una receta reutilizable que le permite crear objetos que almacenan datos diferentes pero pueden implementar la misma funcionalidad para acceder y manipularlo).
- Patrones de diseño: utilizo principalmente Singleton (para cuando solo necesito una copia de algo accesible en mi aplicación) y Model-View-Controller (el paradigma del diseño moderno de aplicaciones web que define cómo su base de datos, lógica de negocios y vistas frontales Interactuar el uno con el otro).
- Estructuras de datos basadas en hash: mis dos estructuras de datos favoritas son, con mucho, HashSets y HashMaps . Los HashSets (y los Sets en general) son excelentes para cuando desea una estructura tipo matriz que solo pueda almacenar uno de cualquier cosa (evitando que inserte datos redundantes). Los HashMaps almacenan pares clave-valor y son una excelente manera de acceder a los objetos utilizando una clave significativa en lugar de algo así como un índice de matriz.