我的项目中具有以下包和类结构,
package de.mycompany.jakarta.order;
import de.mycompany.ordermanagement.order.OrderCancellationService;
public class DrugOrderManager {
private static final DrugOrderManager INSTANCE = new DrugOrderManager();
private DrugOrderManager() {
}
public static DrugOrderManager getInstance() {
return INSTANCE;
}
public void cancelOrder() {
OrderCancellationService.getInstance().process();
} }
package de.mycompany.ordermanagement.order;
public class OrderCancellationService {
private static OrderCancellationService INSTANCE = new OrderCancellationService();
private OrderCancellationService() {
}
public static OrderCancellationService getInstance() {
return INSTANCE;
}
public void process() {
} }
我的意图是OrderCancellationService应该仅由DrugOrderManager调用,任何其他类/服务都不应直接调用它。我正在尝试使DrugOrderManager成为所有服务的网关。如何限制这种可见性?请指教
要执行您想做的事情,您可以简单地OrderCancellationService
在内部创建一个私有的静态类DrugOrderManager
。
但是,就您的情况而言,我想您将有更多类似的类OrderCancellationService
-因此将所有这些类放在一个包中,并仅将其DrugOrderManager
公开,而将所有其他服务都打包为私有,可能是一种更好的方法。您只为使用者公开单个入口点,它是可管理的并且易于理解代码。
如果您不能移动类,那么我想Java中没有解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句