码迷,mamicode.com
首页 > 编程语言 > 详细

java设计模式--桥接模式

时间:2016-09-28 21:58:48      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

桥接模式(bridge):适用于多层继承机构 ,最少两个维度。

比如 日志管理

1.按格式分类

        操作日志,交易日志

2.按距离分类

        本地记录日志,异地记录日志

 

普通的多层次继承

//普通多层次结构继承
public interface Computer {

    void sale();
    
}

//台式机
class Desktop implements Computer{

    public void sale() {
        System.out.println("台式机");
        
    }
    
}
//笔记本
class Laptop implements Computer{

    public void sale() {
        System.out.println("笔记本");
        
    }
    
}

//联想台式机
class LenovoDesktop extends Desktop{
    
    public void sale() {
        System.out.println("联想台式机");
        
    }
}

//联想笔记本
class LenovoLaptop extends Laptop{
    
    public void sale() {
        System.out.println("联想笔记本");
        
    }
}

桥接模式

//桥接模式
public abstract class Computer2 {
    
    
    protected Pinpai pinpai;

    public Computer2(Pinpai pinpai) {
        this.pinpai = pinpai;
    }
    
    public void sale(){
        pinpai.sale();
    }
    
    public static void main(String[] args) {
        Computer2 computer2 = new Desktop2(new Lenovo());
        computer2.sale();
        
    }
    

}

class Desktop2 extends Computer2{

    public Desktop2(Pinpai pinpai) {
        super(pinpai);
    }
    
    public void sale(){
        super.sale();
        System.out.println("台式机");
    }
    
}


class Laptop2 extends Computer2{

    public Laptop2(Pinpai pinpai) {
        super(pinpai);
    }
    
    public void sale(){
        super.sale();
        System.out.println("笔记本");
    }
    
}
//品牌
public interface Pinpai {
    
    void sale();

}

class Lenovo implements Pinpai{

    public void sale() {
        System.out.println("联想");
    }
    
}

class Dell implements Pinpai{

    public void sale() {
        System.out.println("戴尔");
        
    }
    
}

把两种分类分离开来。

在一种类别中引入另一种,利用组合的方式实现多层继承结构

优点:相互独立,容易扩展

 

java设计模式--桥接模式

标签:

原文地址:http://www.cnblogs.com/jentary/p/5911037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!