java - 如何实现算法库?

标签 java design-patterns repository repository-design

我有一组用 Java 实现并打包为 jar 文件的算法。这些算法旨在供第 3 方访问它们。这些算法有多种变体。随着时间的推移,将添加新版本和新类型的算法。同时,我不会让所有第 3 方被迫使用新算法。

我正在考虑为此实现一个简单的存储库系统。要求如下:

  1. 创建/删除存储库,以便每个存储库包含一组算法变体。
  2. 一个 repos 中的算法可以同时运行 serverl 版本。
  3. 可以将新算法添加到存储库中。

是否有一些开源项目符合我的要求?或者是否有一些针对此类问题的设计模式?

最佳答案

举个例子,Apache Commons Lang 通过在 2.0 和 3.0 版本之间更改包名称解决了这个问题: org.apache.commons.lang 变成了 org.apache.commons.lang3

来自 What's new in Commons Lang 3.0?

We've removed the deprecated parts of the API and have also removed some features that were deemed weak or unnecessary. All of this means that Lang 3.0 is not backwards compatible.

To that end we have changed the package name, allowing Lang 3.0 to sit side-by-side with your previous version of Lang without any bad side effects.

关于java - 如何实现算法库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33866406/

相关文章:

java - 动态创建的Jlabel的对齐

java - 如果不存在则插入到数据库

java - Java中单例的其他方式

javascript - 无法使用 Promise 绑定(bind)到 Angular 存储库数据

Android Intent 存储库

java - 如何通过一个数字(float)并用一个 int 分别获取每个数字。 java

java - 求二的幂的最快方法?

design-patterns - 存储库模式和集合错误处理

BASH - 在 zenity 中通过多种模式选择文件

git - 克隆 git 存储库的偷偷摸摸的方法?