Java模板模式和策略模式是兩種常用的設計模式,它們都可以有效地提高代碼的復用性和可維護性。
Java模板模式(Template Pattern)是一種基于繼承的模式,它定義了一個骨架(skeleton)算法,將一些步驟的實現留給子類來完成。這些步驟被封裝在一個模板方法中,在模板方法中調用了一些基本方法,子類可以通過重寫這些基本方法實現自己的業務邏輯。下面是Java模板模式的示例代碼:
public abstract class AbstractClass {
public void templateMethod() {
operation1();
operation2();
operation3();
}
protected abstract void operation1();
protected abstract void operation2();
protected abstract void operation3();
}
public class ConcreteClass extends AbstractClass {
protected void operation1() {
// 具體實現1
}
protected void operation2() {
// 具體實現2
}
protected void operation3() {
// 具體實現3
}
}
Java策略模式(Strategy Pattern)是一種基于組合的模式,它將一組算法封裝成對象,使它們可以相互替換。策略模式讓算法的變化獨立于使用它們的客戶端,從而實現了“可復用、可擴展和可維護”的設計目標。下面是Java策略模式的示例代碼:
public interface Strategy {
void algorithmInterface();
}
public class ConcreteStrategyA implements Strategy {
void algorithmInterface() {
// 具體算法A
}
}
public class ConcreteStrategyB implements Strategy {
void algorithmInterface() {
// 具體算法B
}
}
public class Context {
private Strategy strategy;
public void setStrategy(Strategy strategy) {
this.strategy = strategy;
}
public void performAlgorithm() {
strategy.algorithmInterface();
}
}
以上是Java模板模式和策略模式的簡單介紹和示例,希望能對大家理解和應用設計模式有所幫助。