Patrón de diseño

Un patrón de diseño es una forma de formalizar una solución a un problema ya resuelto anteriormente con la finalidad de no volver a calentarse la cabeza con otra solución.
Básicamente, es reutiliza una solución anterior para aplicarla en un problema nuevo. Que, quizá sea igual o diferente al problema cuya solución se utilizara. Pero: aplicando estándares para su correcta reutilización. Evitando los errores y código inútil, obsoleto o poco eficiente.

Un ejemplo estúpido

Know Node se creyó en PHP y usa conexión a base de datos MySQL. (Se usa MVC).
Know Node es una plataforma en la que se comparte conocimiento mediantes contribuciones a las que nos referimos como documentos.

Entonces, imaginemos queremos hacer un tipo de foro en el que se hagan preguntas y otros puedan contestarlas. Lo más obvio sería reutilizar el código de KnowNode para crear esta nueva plataforma. Ya que está la base, solo habría que convertir:

  • Las preguntas son las contribuciones
  • Las respuestas son respuestas vinculadas a las contribuciones que ahora son las preguntas

Sí, sé que es un poco salido de tono y que podría ser incorrecto. Pero es más o menos la idea.

Usas una base de datos u objeto clase única?

Entonces Singleton será tu mejor opción.
Este patrón dice que solo debe existir una instancia de un objeto. En este caso sería la conexión a una base de datos o clase.
Y cada sentencia será enviada a esta instancia única de conexión a la base de datos.

Lo lamento

No entiendo muy bien esto de los patrones, pero tengo la idea del cómo es, pero no puedo explicarlo.