桥接模式

桥接模式是一种设计模式,旨在将抽象部分与实现部分分离,允许两者独立变化。这种模式提供了更好的扩展性,常见于JDBC驱动、AWT Peer架构等场景。通过案例分析了如何在消息发送和数据库连接中应用桥接模式,实现了不同消息类型和发送方式、不同数据库之间的灵活切换。
摘要由CSDN通过智能技术生成

桥接模式(Bridge Pattern) :

将抽象部分与它的实现部分分离,使他们都可以独立地变化。(Decouple an abstraction from its implementation so that the two can vary independently.)

就像一个桥,将两个变化维度连接起来。各个维度都可以独立的变化。故称之为:桥接模式

核心要点 : 处理多层继承结构,处理多维度变化的场景,将各个维度设计成独立的继承结构,使各个维度可以独立的扩展在抽象层建立关联。

桥接模式优点:

分离抽象部分和实现部分:桥梁模式分离了抽象部分和实现部分,从而极大的提高了系统的灵活性。让抽象部分和实现部分独立出来,分别定义接口,这有助于对系统进行分层,从而产生更好的结构化的系统。
更好的扩展性:桥梁模式使得抽象部分和实现部分可以分别独立的扩展,而不会相互影响,从而大大提高了系统的可扩展性。

桥接模式实际开发中应用场景:

JDBC驱动程序;

AWT中的Peer架构;

银行日志管理:

格式分类:操作日志、交易日志、异常日志
距离分类:本地记录日志、异地记录日志

人力资源系统中的奖金计算模块:

奖金分类:个人奖金、团体奖金、激励奖金。
部门分类:人事部门、销售部门、研发部门。

OA系统中的消息处理:

业务类型:普通消息、加急消息、特急消息
发送消息方式:系统内消息、手机短信、邮件

案例一:

考虑这样一个实际的业务功能:发送提示消息。基本上所有带业务流程处理的系统都会有这样的功能,比如OA上有未处理完毕的文件,需要发送一条消息提示他。
从业务上看,消息又分为普通消息、加急消息,不同的消息类型,业务功能处理是不一样的,比如加急消息是在消息上添加加急;从发送消息的手段上看,又有系统内短消息、邮件等。
该过程可分为5步:
步骤1:定义发送消息方法的接口

/**
 * 实现消息发送的统一接口
 */
public interface MessageImplementor {
   
    //要发送的消息的内容和接收人
    void send(String message, String toUser);
}

步骤2:定义发送消息方法接口的实现类

/**
 * 系统内短消息的实现类
 * SMS(Short Message Service)短信息服务
 */
public class MessageSMS implements MessageImplementor {
   
    @Override
    public void send(String message, String toUser) {
   
        System.out.println(String.format("使用系统内部短消息的方法,发送消息 %s 给 %s", message, toUser));
    }
}

/**
 * 邮件短消息的实现类
 */
public class MessageEmail implements MessageImplementor {
   
    @Override
    public void send(String message, String toUser) {
   
        System.out.println(String.for
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值