我们正在为公司其他团队开发一个图书馆。 我想设计一个Authentication接口,如果我们库的用户在他们的项目中实现了该接口,那么我们将使用他们的实现(可能通过反射)来进行认证。如果没有实现,那么我们将忽略此部分。
我们之所以喜欢这种方法,而不是通过提供方法来注册其auth类,是因为我们没有向项目团队公开这些高级功能。他们将主要在业务逻辑部分工作。
答案 0 :(得分:1)
您可能想要Java Service Provider Interface;它正是针对这种情况而设计的。它确实需要插件创建者在一个知名文件中列出插件类,但是任何为您的库编写自定义插件的人都可以处理这一部分。