美文网首页爱编程,爱生活
Java设计模式<桥接模式>

Java设计模式<桥接模式>

作者: 熬夜的猫头鹰 | 来源:发表于2018-06-16 15:38 被阅读10次

Java设计模式<桥接模式>

意图

桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化 简单言之,就是以聚合的方式代替继承.

场景

  • 实现系统可能有多个角度分类,每一种角度都可能变化.

场景举例

支付宝支付和微信支付都支持支付功能,在调用的时候都支持MD5签名和RSA签名,如果将两种支付方式封装成统一的接口调用,可以尝试使用该中设计模式,减少类的爆炸增长。

继承方式实现

聚合Demo

上层API

public abstract class PayService {

    protected PayEncrypt payEncrypt;

    public abstract boolean pay();
}

支付宝支付Alipay

public class Alipay extends PayService {

    public Alipay(PayEncrypt payEncrypt) {
        super();
        super.payEncrypt = payEncrypt;

    }

    public boolean pay() {
        System.out.println("支付宝支付支付");
        payEncrypt.sign();
        return false;
    }
}

微信支付


public class WechatPay  extends  PayService{

    public WechatPay(PayEncrypt payEncrypt) {
        super();
        super.payEncrypt = payEncrypt;

    }

    public boolean pay() {
        payEncrypt.sign();
        return false;
    }
}

定义加密签名接口PayEncrypt

public class MD5Encrypt implements PayEncrypt{

    public String sign() {
        System.out.println("采用MD5签名");
        return "采用MD5签名";
    }
}

RSAEncrypt实现

public class RSAEncrypt implements PayEncrypt{

    public String sign() {
        return "采用RSA签名";
    }
}

MD5Encrypt

public class MD5Encrypt implements PayEncrypt{

    public String sign() {
        System.out.println("采用MD5签名");
        return "采用MD5签名";
    }
}

测试类

public class DemoMain {


    public static void main(String[] args) {
        PayService payService = new Alipay(new MD5Encrypt());
        payService.pay();
    }
}

貌似加密方式暴露到了上册代码中,但是可以通过建造者模式将对象创建出来,项目中往往是多种设计模式的组合

相关文章

  • Java设计模式<桥接模式>

    Java设计模式<桥接模式> 意图 桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将...

  • Java设计模式——桥接模式

    Java设计模式之桥接模式 回顾 上一期分享了适配器模式,主要为了实现解耦 桥接模式 简介 桥接模式是对象的结构模...

  • java/android 设计模式学习笔记(8)---桥接模式

    java/android 设计模式学习笔记(8)---桥接模式 【备注】只用于个人收藏

  • Java设计模式--桥接模式

    桥接模式就是创建一道桥梁来连接两种类,一般都是对抽象和实现的桥接。对于那些不希望使用继承或因为多层次继承导致系统类...

  • Java设计模式----桥接模式

    场景 商城系统中常见的商品分类,以电脑为例,如何良好的处理商品分类销售的问题? 下图的关系我们可以用多继承结构来实...

  • Java设计模式 - 桥接模式

    定义 将抽象部分与其实现部分分离,使它们能够独立地进行变化。 桥接模式解决的问题就是实现与抽象之间的静态继成问题,...

  • Java设计模式:桥接模式

    模式的定义 将抽象部分与实现部分分离,使它们都可以独立的变化。 模式的使用场景 如果一个系统需要在构件的抽象化角色...

  • java设计模式 - 桥接模式

    1.简介 在现实生活中,某些类具有两个或多个维度的变化,如图形既可按形状分,又可按颜色分。如何设计类似于 Phot...

  • 设计模式-桥接模式

    设计模式-桥接模式 定义 桥接模式(Bridge Pattern)也称为桥梁模式、接口(Interface)模式或...

  • 桥接模式

    设计模式:桥接模式(Bridge)

网友评论

    本文标题:Java设计模式<桥接模式>

    本文链接:https://www.haomeiwen.com/subject/xxsbeftx.html