Ho una domanda di stile per progettare una classe per rappresentare un modello reale.
Diciamo che ho Guide
che ha PointsOfInterest
come membro.
Vorrei fare qualcosa di simile:
class Guide {
public points: PointsOfInterest[];
}
Questo sembra male, perché diciamo che ho recuperato una guida dal mio back-end. Per aggiungere un POI, lo aggiungo all'array, lo serializzo e lo salvo. Non sono sicuro del perché, ma mi fa sentire a disagio esponendo l'implementazione sottostante in questo modo.
Tuttavia, sembra super extra fare qualcosa di simile
class Guide {
public addPointOfInterest(poi: PointOfInterest): boolean;
public removePointOfInterest(idOfPoi: string): boolean;
public iterateOnPointsOfInterest((poi: Poi) => any): boolean;
}
Penso che sto pensando troppo a questo, ma ritengo che questa sia una domanda di design molto comune e sarebbe bello puntare su risorse in cui posso imparare a conoscere i modelli per la modellazione dei dati.
Inoltre, ho letto delle strutture di dati immutabili e mi chiedevo come funzionerebbe qui.