java软件体系结构模式----桥接
2011-10-17 14:45
267 查看
说明:
桥接模式进一步把一个抽象提(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;
};
}
桥接模式进一步把一个抽象提(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;
};
}
相关文章推荐
- java软件体系结构设计模式------责任链
- java软件体系结构模式---集合模式
- java软件体系结构设计模式----代理
- java软件体系结构设计模式----rmi远程代理
- java软件体系结构设计模式----外观
- java软件体系结构设计模式-------对象缓存器
- Java软件体系结构设计模式之结构模式 知识点摘录
- java软件体系结构设计模式----装饰者
- java软件体系结构设计模式----适配器
- java软件体系结构设计模式----虚代理
- java软件体系设计模式----原型
- 【GOF23设计模式】_桥接模式_多层继承结构JAVA238
- 软件体系结构与设计模式笔记
- 软件体系结构作业一--单例模式
- Java软件体系设计模式----工厂模式
- 章二 软件体系结构的构建模式(1)
- 设计模式实例分析_软件体系结构
- JAVA设计模式(07):结构型-桥接模式(Bridge)
- java软件体系设计模式----命令
- 章二 软件体系结构的构建模式(1)