java软件体系结构模式----桥接

说明:

桥接模式进一步把一个抽象提(abstraction)的接口和实现分离开来,在这里,抽象体指的是把对象的和某种具体用途相关的属性和行为分离出来的表现形式。

从这个意义上来说,一个对象是一系列抽象体的集合,其中每一个抽象体值包含该项功能的相关属性和行为。彼此之间没有相互干扰。

其主要作用是解放抽象体的接口和实现之间的任何约束关系,这样一来,接口的改变和实现的改变就可以互相不影响地进行了。


概念:
开放/封闭原则要求一个软件模块应当做到:

a,对扩展来说是开放的---总是可以修改模块的功能或者增加新的特性

b,对修改来说是封闭的----不需要修改代码来做到这一点


实例:

应用程序的消息日志功能


代码:

实现

import java.util.*;


public interface MessageLogger {
  public void logMsg(String msg);
}


import java.util.*;


public class ConsoleLogger implements MessageLogger {


  public void logMsg(String msg) {
    System.out.println(msg);
  }
}


import java.util.*;


public class ConsoleLogger implements MessageLogger {


  public void logMsg(String msg) {
    System.out.println(msg);
  }
}


接口:

import java.util.*;


public interface Message {
  public void log(String msg);
}


import java.util.*;


public class EncryptedMessage implements Message {


  private MessageLogger logger;


  public EncryptedMessage(MessageLogger l) {
    logger = l;
  }
  public void log(String msg) {
    String str = preProcess(msg);
    logger.logMsg(str);


  }
  private String preProcess(String msg) {
    msg = msg.substring(msg.length() - 1) +
          msg.substring(0, msg.length() - 1);


    return msg;
  };
}


import java.util.*;


public class TextMessage implements Message {
  private MessageLogger logger;


  public TextMessage(MessageLogger l) {
    logger = l;
  }
  public void log(String msg) {
    String str = preProcess(msg);
    logger.logMsg(str);


  }
  private String preProcess(String msg) {
    return msg;
  };
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值