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