标签:
桥接模式是为了解决java单继承的局限性而诞生的,使用桥接模式可以很好的解决需要有多层级继承关系的实际问题。
桥接模式的要点:
处理多层次继承结构,处理多维度变化的场景。将各个结构设立成独立的抽象结构,使各个维度可以独立的拓展在抽象层建立联系。
package 桥接模式;
public interface Brand {
void sale();
}
class senma implements Brand {
@Override
public void sale() {
// TODO Auto-generated method stub
System.out.println("森马服饰");
}
}
class Meters implements Brand {
@Override
public void sale() {
// TODO Auto-generated method stub
System.out.println("美邦服饰");
}
}
class PlayBoy implements Brand {
@Override
public void sale() {
// TODO Auto-generated method stub
System.out.println("花花公子服饰");
}
}
package 桥接模式;
public class Clothes {
protected Brand brand;
public Clothes(Brand brand){
this.brand=brand;
}
void sale() {
brand.sale();
}
}
class T_shirt extends Clothes {
public T_shirt(Brand brand) {
super(brand);
// TODO Auto-generated constructor stub
}
@Override
public void sale() {
// TODO Auto-generated method stub
System.out.println("买T恤");
brand.sale();
}
}
class Pants extends Clothes {
public Pants(Brand brand) {
super(brand);
// TODO Auto-generated constructor stub
}
@Override
public void sale() {
// TODO Auto-generated method stub
System.out.println("买裤子");
brand.sale();
}
}
class Hat extends Clothes {
public Hat(Brand brand) {
super(brand);
// TODO Auto-generated constructor stub
}
@Override
public void sale() {
// TODO Auto-generated method stub
System.out.println("买帽子");
brand.sale();
}
}
package 桥接模式;
public class Client {
public static void main(String[] args) {
// TODO Auto-generated method stub
Clothes c=new Pants(new senma());
c.sale();
}
}
应用场景:
JDBC驱动程序
AWT中的Peer结构
银行日志管理:
格式日志:操作日志,交易日志,异常日志
距离日志:本地记录日志,异地记录日志
人力资源系统中的奖金计算模块:
奖金分类:个人奖金,团体奖金,激励奖金
部门分类:人事部门,销售部门,奖金部门
OA系统中的消息处理:
业务类型:普通消息,加急消息,特急消息
发送消息的方式:系统内消息,手机短信,邮件
标签:
原文地址:http://www.cnblogs.com/ouwenkgwpf/p/4572742.html