Implementar la porción del model del MVC

Tengo un juego simple hecho, todavía estoy trabajando en algunas partes adicionales del juego. No estoy seguro de cómo / dónde almacenar los datos de mi juego (puntuaciones, configuraciones, etc.)

He estado usando un singleton con todos los datos que usaré en el progtwig sintetizado para facilitar el acceso, pero no sé si este es un buen método. Me parece que haría configuraciones y cosas bastante fáciles, porque puedo compartir el singleton entre la vista de menu y la vista del juego, sin tener que copyr los datos … ¿Hay otra forma? Cada libro que he leído hasta ahora parece omitir el model y simplemente combinarlo con la parte del controller del MVC.

Singletons, aunque atractivo por su simplicidad, generalmente hace que la base del código sea less flexible a los cambios. Tampoco alientan una separación clara de funcionalidad en el model.

Una alternativa es utilizar datos básicos para el model. Tendrías un object gestionado para el juego, los puntajes, la configuration, etc., y pasarás references a los objects. Con Core Data obtienes persistencia de forma gratuita junto con mecanismos rápidos / eficientes para clasificar y presentar datos.