我需要决定在另一个类中只保留另一个类的标识符或对象引用。情况如下:
public class Article {
private int ownerId;
}
或:
public class Article {
private User owner;
}
问题出现了:
domain
,项目的其余部分在core
),这是因为这个domain
模块可以被某些人导入用户(设计流程的Drools Workbench用户)Article
类位于domain
模块中。domain
模块不依赖于Spring安全性,但core
是。Article
中使用对象引用,我必须将Spring Security作为Maven依赖项包含在domain
模块中(因为private User owner
是一个Spring Security User
),这将使它的尺寸明显更大。domain
模块成为一个大的jar文件,因为它很难包含在Drools中,甚至更多地包含在公司内部。那么,在这种情况下可能采取的正确方法是什么?通常情况下,我会找到对象参考,因为明显的原因可以找到here,但我倾向于对这种情况做例外。
答案 0 :(得分:1)
可以找到一个可能的解决方案,在您需要的包中扩展Article域对象,将扩展版本附加到您需要的信息(一种装饰器)