我正在尝试开发一个Web应用程序,但我想不出完整的设计。这个想法如下:
我想创建一个程序,可以创建模式,然后可以用它来创建模式的实例。举个例子:我们把funiture作为模式,所以我们有一个名字和不同的属性。 所以管理员创建/删除/编辑模式:让“椅子”用“颜色”和“大小”作为属性,用“表”用“长度”,“颜色”和“大小”。
之后,用户可以使用您首先创建的属性添加“Tables”或“Chairs”。
我创建了Domain-Classes:User,Pattern,Property,Funiture 但我坚持这种关系。我很确定grails能够处理这样的请求,但我不确定,如果我走在正确的轨道上。
编辑:更具体:
我现在对整个构造有了更好的了解: domain-Classes(我会跳过用户以便更好地理解): Pattern - Property - FurnitureProperties - Furniture
我现在知道,我需要“FurnitureProperties”来存储创建家具的实际价值。我对hasMany / belongsTo - 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]
我希望我可以创建属于该模式的模式和属性,之后我可以创建新家具,选择模式,查找属性并创建正确的FurnitureProperties以使用特定值填充它们。会是这样的:
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.