码迷,mamicode.com
首页 > 其他好文 > 详细

14桥接模式Bridge

时间:2018-05-13 23:10:09      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:abs   src   client   最小   new   独立   height   构造   不同   

一、什么是桥接模式

  Bridge 模式又叫做桥接模式,是构造型的设 计模式之一。Bridge模式基于类的最小设计原则,通过 使用封装,聚合以及继承等行为来让不同的类承担不同 的责任。它的主要特点是把抽象(abstraction)与行为 实现(implementation)分离开来,从而可以保持各部 分的独立性以及应对它们的功能扩展。

 

二、桥接模式的结构

技术分享图片

 

三、桥接模式的角色和职责

  Client

    Bridge模式的使用者

  Abstraction

    抽象类接口(接口或抽象类)

    维护对行为实现(Implementor)的引用

  Refined Abstraction

    Abstraction子类

  Implementor

    行为实现类接口 (Abstraction接口定义了基于Implementor接口的更高层次的操作)

  ConcreteImplementor

    Implementor子类

 

公共汽车

1 //公共汽车
2 public abstract class Bus implements Car {
3 
4     public abstract void installEngine();//安装引擎
5 }

公共汽车2000

1 //公共汽车2000
2 public class Bus2000 extends Bus{
3 
4     public void installEngine() {
5         System.out.println("给Bus安装2000cc发动机");
6     }
7 }

公共汽车2200

1 //公共汽车2200
2 public class Bus2200 extends Bus {
3 
4     public void installEngine() {
5         System.out.println("给Bus安装2200cc发动机");
6     }
7 }

汽车

//汽车
public interface Car {
    
    public void installEngine();//安装引擎
}

Jeep车

1 //Jeep车
2 public  abstract class Jeep implements Car {
3 
4     public abstract void installEngine();//安装引擎
5 }
Jeep2000
1 //Jeep2000
2 public class Jeep2000 extends Jeep{
3 
4     public void installEngine() {
5         System.out.println("给Jeep安装2000cc发动机");
6     }
7 }

Jeep2200

//Jeep2200
public class Jeep2200 extends Jeep {

    public void installEngine() {
        System.out.println("给Jeep安装2200cc发动机");
    }
}

测试

1 public class MainClass {
2     public static void main(String[] args) {
3         Car car1 = new Bus2000();
4         car1.installEngine();//安装引擎
5     }
6 }

14桥接模式Bridge

标签:abs   src   client   最小   new   独立   height   构造   不同   

原文地址:https://www.cnblogs.com/justdoitba/p/9033690.html

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