我正在讨论正确的 OO 设计,以使用来自 java 类的另一个对象的功能(方法),同时尽可能地保持两个对象的解耦。
例如,在我的类中的某个时刻,为了实现我的逻辑,我需要调用一个属于另一个对象的方法,比如一个辅助类。这个帮助类不需要与我的原始类有任何关系,它只是有一个特定的方法,它对我的类可见并且可供我的类使用。
实现逻辑后,就不再需要辅助方法(或辅助对象)了。
显然,为了使用它的方法,我需要一个对这个帮助对象的引用。但是为了强制封装,我不应该在我的原始类中声明一个实例变量来引用这个助手对象吗?这个推理正确吗?此外,助手类不知道任何可能使用它的客户端类。
在这种情况下,局部变量会更合适吗?在将使用其功能的方法中声明并实例化辅助对象?在我的原始类中声明和实例化这样一个辅助对象的最佳位置在哪里?
我想知道是否有一个高级示例,或者是否在 OO 文章中对此进行了更详细的解释。我将不胜感激以上任何以封装为重点的输入或提示。