色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java適配器模式和橋接模式

謝彥文1年前6瀏覽0評論

Java適配器模式和橋接模式都是面向?qū)ο缶幊讨谐R姷脑O(shè)計(jì)模式,本篇文章將對這兩種模式進(jìn)行詳細(xì)介紹。

適配器模式

適配器模式是一種將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另一個(gè)接口的設(shè)計(jì)模式。

public interface Target {
void execute();
}
public class Adaptee {
public void doSomething() {
System.out.println("doSomething...");
}
}
public class Adapter implements Target {
private Adaptee adaptee;
public Adapter(Adaptee adaptee) {
this.adaptee = adaptee;
}
public void execute() {
adaptee.doSomething();
}
}
public class Client {
public static void main(String[] args) {
Adaptee adaptee = new Adaptee();
Target target = new Adapter(adaptee);
target.execute();
}
}

在適配器模式中,我們通過一個(gè)中間的適配器類將一個(gè)原始類的接口適配成客戶端期望的接口,這樣就可以在不改變原始類接口的情況下,讓客戶端使用該類。

橋接模式

橋接模式是一種同時(shí)將抽象部分與它的實(shí)現(xiàn)部分分離開來的設(shè)計(jì)模式。

public interface Implementor {
void operationImp();
}
public class ConcreteImplementorA implements Implementor {
public void operationImp() {
System.out.println("ConcreteImplementorA operation");
}
}
public class ConcreteImplementorB implements Implementor {
public void operationImp() {
System.out.println("ConcreteImplementorB operation");
}
}
public abstract class Abstraction {
protected Implementor implementor;
public Abstraction(Implementor implementor) {
this.implementor = implementor;
}
public abstract void operation();
}
public class RefinedAbstraction extends Abstraction {
public RefinedAbstraction(Implementor implementor) {
super(implementor);
}
public void operation() {
System.out.println("RefinedAbstraction operation");
implementor.operationImp();
}
}
public class Client {
public static void main(String[] args) {
Implementor implementor = new ConcreteImplementorA();
Abstraction abstraction = new RefinedAbstraction(implementor);
abstraction.operation();
}
}

在橋接模式中,我們將一個(gè)抽象部分與其實(shí)現(xiàn)部分分離開來,使得它們可以相互獨(dú)立地變化。這樣,抽象與實(shí)現(xiàn)部分可以各自擴(kuò)展,不會(huì)相互影響。

適配器模式和橋接模式都是非常常用的設(shè)計(jì)模式,在實(shí)際開發(fā)中都有廣泛的應(yīng)用。