CoreData: Strategia modello di attuazione
-
25-09-2019 - |
Domanda
Sto cercando di implementare il modello di strategia con Core Data e Objective C.
Per semplificare, ho, diciamo, un'entità multilingue Text
, che ha diversi attributi, come ad esempio un Date
per salvato l'ultima volta, e un NSSString
per autore ecc ecc voglio aggiungere un riferimento ad un'entità Language
, che potrebbe essere una delle diverse sottoclassi, come French
, Italian
e così via, in possesso di un NSString
del testo nella lingua del nome della classe. Ognuna delle sottoclassi Language
possono implementare le proprie translateTo
e translateFrom
metodi e l'istanza Text
non ha bisogno di preoccuparsi. Semplice modello di strategia.
Creato da yuml.me http://yuml.me/1caedd69
Sono davvero fatica a impostare questo tipo di relazione con Core Data, dove una certa entità Text
può essere configurato con una propria implementazione Language
a seconda delle particolari dell'istanza.
suppongo in poche parole, quello che sto cercando di fare è creare un "ha-un" rapporto, in cui l'entità all'interno dell'entità Text
può essere uno dei diversi sottotipi di Language
.
Core Data è del tutto nuovo per me, quindi se mi manca completamente il punto qui, o perso qualcosa lampante, per favore fatemelo sapere.
Soluzione
Si possono avere entità astratte. Mi piacerebbe creare un'entità astratta lingua, un a-on relatioship tra il testo e la lingua, e sottoentità concreti di linguaggio chiamato italiano, francese, ecc Esempio con l'editor Xcode: l'editor di Xcode che mostra uno schema molto simile a quello nella domanda iniziale http://files.droplr.com.s3.amazonaws.com/files/762938/1u3s2W.Screen%20shot%202010-08-05%20at%2010%3A50%3A57.png
Si potrebbe quindi impostare il rapporto .Language del testo con un nuovo NSManagedObject
italiana o francese, se necessario.