una struttura così è magari più complessa da realizzare all'inizio, ma è poi più facilmente mantenibile e scalabile.
soprattutto se realizzi il tutto con programmazione a oggetti, in cui avrai una classe ContenutoGenerico e poi fai delle classi derivate com ad es: Foto che è una classe derivata da ContenutoGenerico, quindi eredita campi privati e metodi.
In questo modo risparmi molto codice e al crescere del progetto hai delle basi solide per estenderlo con facilità.