はい、それを行うためのデザインパターンがあります。
ストラテジーパターンを調べることができます。
さらに良いことに、依存性注入を調べることができます。
Google Guiceをコンテナとして使用でき、構成に基づいて、実行時に実装でN個のライブラリの使用を切り替えることができます。
結局のところ、これらのライブラリを抽象化の周りにラップする必要があります。
ここに例があります:
interface ISomeOperation{
void process();
}
class ThatUsesTheWPILIBJ implements ISomeOperation{
void process(){
//use library here
}
}
class ThatUsesYourMock implements ISomeOperation{
void process(){
//use your mock here
}
}
public YourUIClass{
private ISomeOperation _operatingClass;
public YourUIClass(ISomeOperation operatingClass){
_operatingClass = operatingClass;
}
public void render(){
_operatingClass.process();
}
}
今、あなたがする必要があるのは配線だけです。googleguiceconfiguraionを見てください。