我有一个负责管理某种对象的管理器类。为此,它需要操作这些对象,但这些对象与管理器没有任何关系,因此从技术上讲,它们位于单独的包 "project.managers" 和 "project.objects" 中。重要的是,有问题的对象只能由经理操作,不能在其他任何地方操作,但需要项目中的每个其他类都可以访问。
因此,我希望管理人员可以访问操作方法,但限制对其他所有类的访问。最明显的一种是将管理器类和对象类移动到同一个包中并声明操作方法受保护,但由于管理器和对象是完全独立的实体,它们在哲学上不适合。
(这部分是因为我希望我的 IDE 在我自动完成相关对象上的代码时停止向我显示操作方法,所以我总是必须通过管理器,以便在我更改相关对象时正确更新相应的表) .
对此有什么想法,或者在任何情况下明显的方式是最好的吗?