Динамические свойства и структуры Грааля - PullRequest
1 голос
/ 15 сентября 2011

Я пытаюсь разработать веб-приложение, но я не могу придумать полный дизайн. Идея заключается в следующем:

Я хочу создать программу с возможностью создавать шаблоны, которые затем можно использовать для создания экземпляров шаблона. Для примера: у нас есть шаблоны в виде шаблонов, поэтому у нас есть имя и различные свойства. Таким образом, администратор создает / удаляет / редактирует шаблоны: скажем, «Стул» с «цветом» и «размером» в качестве свойств и «Стол» с «длиной», «цветом» и «размером».

После этого пользователь может добавить «Таблицы» или «Стулья» со свойствами, которые вы создали первыми.

Я создал Доменные классы: Пользователь, Шаблон, Свойство, Мебель но я застрял в отношениях. Я почти уверен, что Grails способен обработать такие запросы, но я не уверен, что я на правильном пути.

Редактировать: Более конкретно:

Теперь у меня есть лучшее представление о всей конструкции: классы домена (я пропущу пользователей для лучшего понимания): План - Недвижимость - МебельСвойства - Мебель

Теперь я знаю, мне нужны «FurnitureProperties» для хранения фактической стоимости созданной мебели. Я немного запутался с hasMany / assignTo - определениями grails.

Pattern 
hasMany[properties:Property]
belongsTo [furniture:Furniture]

Property
hasMany [furnitureProperties: FurnitureProperties]
belongsTo [pattern:Pattern]

FurnitureProperties
(nothing, just Property and Furniture as fields)

Furniture
hasMany [furnitureProperties: FurnitureProperties]
belongsTo [pattern:Pattern]

Я надеюсь, что смогу создавать шаблоны и свойства, которые принадлежат этому шаблону, и после этого я могу создавать новую мебель, выбирать шаблон, искать свойства и создавать правильные свойства мебели, чтобы заполнить их конкретными значениями. Было бы так:

Pattern: Chair and Table
Property: Chair.size, Chair.color / Table.width, Table.color
Furniture:Office-Chair, armchair, kitchen-table
furnitureProperty: all three furnitures with there properties depending on the pattern and the specific value.
...