首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grails:一个字段,多个类

grails:一个字段,多个类
EN

Stack Overflow用户
提问于 2019-01-08 23:55:51
回答 1查看 18关注 0票数 0

我想用Grails应用程序跟踪一台汽车。在某些情况下,电机的位置会发生变化,但位置类型也会发生变化。如何有效地存储当前位置?

第一次尝试是:

代码语言:javascript
复制
class Motor {
    String motornumber
    Locationtype lt
}

class Locationtype {
    String type
}

class Machine {
    String machinenumber
}

class Repaircompany {
    String companyname
}

根据作为{"Machine","Repair"}之一的Locationtype lt,电机对象应存储电机所在的机器id或维修公司id。“机器”是指:电机部署在机器上,“维修”是指:电机目前正在维修中。

所以我希望在Motor中有一个字段location作为字段,但是是哪种类型呢?我知道,每次我访问location时,我都必须评估lt

我在考虑一个特征中的一个字段。我会偏离正轨吗?或者这就是我要走的路吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-09 01:13:39

这里有许多可能的解决方案,根据提供的有限信息,没有一个解决方案一定比另一个更好。两种可能的解决方案:

最简单的方法:向Motor对象添加一个可为空的Machine字段和一个可为空的Repaircompany字段。然后,可以填充(或者从技术上讲,两者都有),并且您可以根据需要使用这些值。

可能会更好:创建一个Location基类(可以是抽象的),并从中扩展MachineRepaircompany。在Motor中,创建一个Location类型的字段,然后可以用任意一个子类填充该字段。

对于任何一种解决方案,您都可能不再需要Locationtype。您可以确定通过哪个字段填充(对于解决方案1)或通过子类(对于解决方案2)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54095369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档