java设计模式-结构型-桥接模式

28
五月
2021
  • 定义:抽象部分与它的具体实现部分分离,使他们都可以独立变化
  • 通过组合的方式建立两个类之间的联系,而不是继承
  • 适用场景

         抽象和具体之间增加更多的灵活性

         一个类存在两个或多个独立变化的维度

  • 缺点

        增加了系统的理解与设计难度

        需要正确识别出系统中两个独立变化的维度

总结:连接两个继承体系。两个继承体系自行发展。一个继承体系的抽象类使用了另一体系中的接口。通过组合的方式。

示例代码

public abstract class Bank {
    protected Account account;
    public Bank(Account account){
        this.account=account;
    }
    protected abstract void openAccount();
}

public class ABCBank extends Bank{
    public ABCBank(Account account) {
        super(account);
    }

    protected void openAccount() {
        System.out.println("打开一个农业银行账户");

    }
}

public class ICBCBank extends Bank{
    public ICBCBank(Account account) {
        super(account);
    }

    protected void openAccount() {
        System.out.println("打开一个工商银行账户");
        account.openAccount();
    }
}
public interface Account {
    public void openAccount();
}
public class FixedAccount implements Account{
    public void openAccount() {
        System.out.println("打开一个定期账户");

    }
}
public class SavingCount implements Account{
    public void openAccount() {
        System.out.println("打开一个活期账户");

    }
}

Test类

public class Test {
    public static void main(String[] args) {
        ICBCBank bank=new ICBCBank(new FixedAccount());
        bank.openAccount();
    }
}

 

TAG

网友评论

共有访客发表了评论
请登录后再发布评论,和谐社会,请文明发言,谢谢合作! 立即登录 注册会员