У мене виникають проблеми з визначенням цього шаблону даних, я натрапив на роботу над декількома додатками.
Він складається з:
- Тип об'єкта, який складається з багатьох самих об'єктів
- Другий тип об'єкта, де кожен екземпляр "має багато" першого об'єкта
- І кожен з під-об'єктів першого об'єкта може змінюватися в кожному об'єднанні до другого типу об'єкта.
Простим прикладом може бути:
- Курс програмування, що складається з набору уроків
- Уроки складаються із заданих завдань.
- Курс може бути призначений студенту.
- Однак, коли курс призначений студенту, кожен урок та / або завдання можуть бути налаштовані для цього учня, із видаленням та доповненням, до того моменту, коли початковий курс може бути невпізнанним.
У моїх рішеннях це означає:
Після присвоєння курсу студенту курс завантажується в пам'ять. Тоді для кожного суб-об’єкта генерується об’єкт зв’язку студент / суб'єкт з відповідними метаданими. По суті, я використовую оригінальний об'єкт як шаблон для генерування необхідних настроюваних об'єктів.
Це призводить до величезної кількості даних, оскільки під-об'єкти стають складнішими та пронумерованішими. Мені цікаво, чи є якась оптимізація чи схема, щоб зменшити кількість логіки / складності, необхідної для маніпулювання цією схемою даних.