java设计模式-桥接模式(6)

简介: 将抽象部分与实现部分分离,使它们都可以独立的变化。桥接模式是一种结构式模式。

代码示例:

操作接口


 /\*\*

 \* @author 

 \* @since 2019/4/12

 \*/

public interface Implementor {

    void operationImpl();

}

抽象服务类


 /\*\*

 \* @author 

 \* @since 2019/4/12

 \*/

public abstract class AbstractionService {

    private Implementor implementor;

    public AbstractionService(Implementor implementor) {

        this.implementor = implementor;

    }

    /\*\*

     \* 其他操作

     \*/

    public abstract void otherOperation();

    /\*\*

     \* 操作

     \*/

    public void operation() {

        implementor.operationImpl();

    }

}

实现独立业务


/\*\*

 \* @author 

 \* @since 2019/4/12

 \*/

public class ServiceImpl1 implements Implementor {

    /\*\*

     \* 操作

     \*/

    @Override

    public void operationImpl() {

        System.out.println("业务1的操作");

    }

}

实现独立业务


/\*\*

 \* @author 

 \* @since 2019/4/12

 \*/

public class ServiceImpl2 implements Implementor {

    /\*\*

     \* 操作

     \*/

    @Override

    public void operationImpl() {

        System.out.println("业务2的操作");

    }

}

实现其他业务公共业务

 /\*\*

 \* @author 

 \* @since 2019/4/12

 \*/

public class Service extends AbstractionService {

    public Service(Implementor implementor) {

        super(implementor);

    }

    @Override

    public void otherOperation() {

        System.out.println("其他业务");

    }

}

测试

/\*\*

 \* 桥接模式测试

 \*/

@Test

public void bridgeTest() {

    Implementor impl=new ServiceImpl2();

    AbstractionService service=new Service(impl);

    service.operation();

    service.otherOperation();

}

优点:

  1. 将固定业务和非固定业务做一次抽象处理,减少了系统复杂程度,也增加了复用性

场景:

  1. 当有公共业务又有独立业务的时候,可以考虑采用这种模式实现
  2. 如果希望实现部分的修改,不会对客户产生影响,可以采用桥接模式,客户是面向抽象的接口在运行。
  3. 实现部分的修改,可以独立于抽象部分,也就不会对客户产生影响了,也可以说对客户是透明的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值