实施所有权层次结构Java

时间:2018-05-20 23:43:44

标签: java architecture access-control

是否有可能(例如使用注释)创建一种类所有权的“层次结构”?

例如,假设此“层次结构”中有三个级别的对象,Level1Level2Level3

Level1可以拥有(在我的情况下,作为Spring @Autowire实例变量)Level2但不能拥有Level3的实例(因为它有两个级别) 。此外, Level1个类可以拥有Level2。同样,Level3只能由Level2拥有。

我很好奇是否可以使用注释和编译时参数的某些组合来实现结果。

注意。我正在寻找与我所描述的内容完全对应的答案。但是特定用例(如果它有帮助)阻止高级业务逻辑直接调用数据库存储库,或者例如API控制器直接调用低级服务时,它们只打算调用高级业务逻辑。

这个问题的核心是关于通过注释将访问控制(private, protected...)概括为任意包结构。

0 个答案:

没有答案