我正在写一个算法,它可以在一些系列上工作,并执行一些操作,比如移位,以及与之相关的操作。我想用两种不同的数据结构来测试算法:MutableBigInteger和BitString(javabdd),所以我想我会试着想出一些聪明的设计模式(因为我不这么做),我发现策略设计模式很有趣。唯一困扰我的是对于函数AND,它需要计算相同的类型。我有一些代码解释:策略设计模式(使用参数方法) - JAVA
论文是我的两个不同的类:
public class MutableBigInteger {
public void shift();
public void and(MutableBigInteger b2){
// ...
}
}
public class BitString {
public void shift();
public void and(BitString b2){
// ...
}
}
我希望做一个设计,这样在我的类创建它执行算法我只是这些类之间进行选择。该算法是这样的:
while(...) {
bittrain.shift();
bittrain.and(bittrain2);
}
这个问题对我来说是如何实现与功能,并且由于每个我自己的类中等待说法同一类。我想我会喜欢这样的:
public interface BitTrain {
public void shift();
public void and(BitTrain b2);
}
和我的两个班,这个接口扩展,但它并没有真正帮助我,因为在MutableBigInteger和BITSTRING我会做一个投,我不是很想要(因为速度)。
希望我已经说得够好了,祝你有美好的一天!
尼科
我建议修正标题,因为您的问题更多的是接口,继承和泛型,而不是关于战略模式。 – 2013-04-10 07:15:48