我有一个Java应用程序,希望使其可扩展。要创建一个扩展,我们公司的开发人员将编写一个实现特定接口的Java类。他们还可能希望编写相关的辅助类。我希望在不停机的情况下将这些扩展加载到应用程序中。
我想限制该类只能执行以下操作:
1.调用应用程序API中的方法(这将作为构造函数的参数)。 2.创建同一包中其他对象的实例(因此扩展类的作者可以使用其他类来完成工作)。
当调用该类时,传递的API对象将已经定义并存储为成员变量的“客户”将被使用。它将使用这个客户端来通过API限制对客户数据的访问。
我不希望这些类做诸如访问数据库、写入磁盘或执行其他操作等事情。这主要是为了依赖管理和封装,因为同一团队的开发人员将有权限编写扩展和核心系统。
是否有相应的模式?我走在正确的道路上吗?
我想限制该类只能执行以下操作:
1.调用应用程序API中的方法(这将作为构造函数的参数)。 2.创建同一包中其他对象的实例(因此扩展类的作者可以使用其他类来完成工作)。
当调用该类时,传递的API对象将已经定义并存储为成员变量的“客户”将被使用。它将使用这个客户端来通过API限制对客户数据的访问。
我不希望这些类做诸如访问数据库、写入磁盘或执行其他操作等事情。这主要是为了依赖管理和封装,因为同一团队的开发人员将有权限编写扩展和核心系统。
是否有相应的模式?我走在正确的道路上吗?