zoukankan      html  css  js  c++  java
  • java 桥接模式

    桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。

    1)适配器:改变已有的两个接口,让他们相容。

    2)桥接模式:分离抽象化和实现,使两者的接口可以不同,目的是分离。

    /**
     * @author liusongwei
     * @Title: Car
     * @ProjectName demohystrix
     * @Description: 定义一个交通工具的接口
     * @date 2018/12/2815:58
     */
    public interface Traffic {
        void byontake(String name);
    }
    /**
     * @author liusongwei
     * @Title: Plane
     * @ProjectName demohystrix
     * @Description: 交通工具之一飞机
     * @date 2018/12/2816:02
     */
    public class Plane implements Traffic {
        @Override
        public void byontake(String name) {
            System.out.println(name + "乘坐飞机去少林寺");
        }
    }
    /**
     * @author liusongwei
     * @Title: Train
     * @ProjectName demohystrix
     * @Description: 交通工具之一火车
     * @date 2018/12/2816:00
     */
    public class Train implements Traffic {
        @Override
        public void byontake(String name) {
            System.out.println(name + "乘坐火车去少林寺");
        }
    }
    /**
     * @author liusongwei
     * @Title: Whois
     * @ProjectName demohystrix
     * @Description: 定义一个抽象类谁乘坐交通工具
     * @date 2018/12/2816:03
     */
    public abstract class Whois {
        private Traffic traffic;
    
        public Whois(Traffic traffic){
            this.traffic = traffic;
        }
    
        public void WhereGoTo(String name){
            traffic.byontake(name);
        }
    }
    /**
     * @author liusongwei
     * @Title: Man
     * @ProjectName demohystrix
     * @Description: 人类
     * @date 2018/12/2816:06
     */
    public class Man extends Whois {
        public Man(Traffic traffic) {
            super(traffic);
        }
    }
    /**
     * @author liusongwei
     * @Title: Demo
     * @ProjectName demohystrix
     * @Description: TODO
     * @date 2018/12/2816:07
     */
    public class Demo {
        public static void main(String[] args){
            Whois whois = new Man(new Train());
            whois.WhereGoTo("张三");
    
            Whois whois2 = new Man(new Plane());
            whois2.WhereGoTo("李四");
    
        }
    }
  • 相关阅读:
    表单文件上传
    页面布局
    HDU 2089 不要62
    洛谷 P1776 宝物筛选(多重背包)
    HDU 5569 matrix
    洛谷 P1244 青蛙过河
    洛谷 P2362 围栏木桩
    洛谷 P2719 搞笑世界杯
    洛谷 P1877 [HAOI2012]音量调节
    洛谷 P1569 [USACO11FEB]属牛的抗议Generic Cow Prote…
  • 原文地址:https://www.cnblogs.com/mutong1228/p/10192724.html
Copyright © 2011-2022 走看看