需要新依赖项时的对象引用或标识符决策

时间:2017-06-25 17:48:38

标签: java spring oop spring-security

我需要决定在另一个类中只保留另一个类的标识符或对象引用。情况如下:

public class Article {
    private int ownerId;
}

或:

public class Article {
    private User owner;
}

问题出现了:

  1. 我已将我的域类分成另一个模块(比如domain,项目的其余部分在core),这是因为这个domain模块可以被某些人导入用户(设计流程的Drools Workbench用户)
  2. Article类位于domain模块中。
  3. domain模块不依赖于Spring安全性,但core是。
  4. 如果我将在Article中使用对象引用,我必须将Spring Security作为Maven依赖项包含在domain模块中(因为private User owner是一个Spring Security User ),这将使它的尺寸明显更大。
  5. 我不太希望我的domain模块成为一个大的jar文件,因为它很难包含在Drools中,甚至更多地包含在公司内部。
  6. 那么,在这种情况下可能采取的正确方法是什么?通常情况下,我会找到对象参考,因为明显的原因可以找到here,但我倾向于对这种情况做例外。

1 个答案:

答案 0 :(得分:1)

可以找到一个可能的解决方案,在您需要的包中扩展Article域对象,将扩展版本附加到您需要的信息(一种装饰器)