桥接模式的目的是把抽象和具体实现分离,其uml类图如下所示:
public interface SendMessage {
abstract void send(String message,String name);
}public class EmailSend implements SendMessage{
public void send(String message,String name){
System.out.println(message+" through email send to"+ name);
}
}public class SystemSend implements SendMessage{
public void send(String message,String name){
System.out.println(message+" through send to "+name);
}
}public abstract class Message{
public SendMessage sendMethd ;
public Message(SendMessage s){
this.sendMethd = s;
}
public abstract void send(String message,String name);
}public class CommandMessage extends Message{
public CommandMessage(SendMessage s){
super(s);
}
public void send(String message,String name){
this.sendMethd.send(message, name);
}
}public class ErgentMessage extends Message{
public ErgentMessage(SendMessage s){
super(s);
}
public void send(String m,String n){
m+="加急";
this.sendMethd.send(m,n);
}
}public class TestBridge{
public static void main(String args[]){
SendMessage s1 = new EmailSend();
Message m1 = new CommandMessage(s1);
m1.send("utstarcom","china");
Message m2 = new ErgentMessage(s1);
m2.send("utstarcom","china");
}
}
本文介绍了桥接模式的设计理念,通过将抽象与实现分离来提高系统的灵活性。提供了具体的UML类图示例,并展示了如何使用Java实现桥接模式,包括发送消息的不同方式(如电子邮件和系统消息)以及不同类型的紧急程度(普通和加急)。
1185

被折叠的 条评论
为什么被折叠?



