Java是一門非常強大的編程語言,它支持許多設計模式。其中適配器模式和裝飾模式是兩種常用的設計模式。
適配器模式用于將一個類或接口的接口轉換成另一個類或接口,使得這兩者能夠協同工作。適配器模式通常包括一個適配器類,這個適配器類實現了目標接口,同時也包含了需要適配的類。適配器模式可以用來解決接口不兼容的問題。
public interface Target { void request(); } public class Adaptee { public void specificRequest() { // do something } } public class Adapter implements Target { private Adaptee adaptee; public Adapter(Adaptee adaptee) { this.adaptee = adaptee; } public void request() { adaptee.specificRequest(); } }
裝飾模式用于向一個對象添加額外的功能,同時又不改變對象的原有結構。
public interface Component { void operation(); } public class ConcreteComponent implements Component { public void operation() { // do something } } public abstract class Decorator implements Component { private Component component; public Decorator(Component component) { this.component = component; } public void operation() { component.operation(); } } public class ConcreteDecoratorA extends Decorator { public ConcreteDecoratorA(Component component) { super(component); } public void operation() { super.operation(); // add additional behavior } } public class ConcreteDecoratorB extends Decorator { public ConcreteDecoratorB(Component component) { super(component); } public void operation() { super.operation(); // add additional behavior } }
通過適配器模式和裝飾模式,我們可以更加方便地實現不同的功能。