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

    桥接模式(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("戴尔");
            
        }
        
    }

    把两种分类分离开来。

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

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

  • 相关阅读:
    Python:软科中国大学排名爬虫(2021.11.5)
    服务外包系统软件需求分析+原型
    JFinal极速开发框架
    Mapreduce实例——MapReduce自定义输入格式
    利用jieba分析词语频数
    Mapreduce实例——Reduce端join
    Mapreduce实例——Map端join
    Mapreduce实例——MapReduce自定义输出格式
    打卡
    Mongo数据库实验
  • 原文地址:https://www.cnblogs.com/jentary/p/5911037.html
Copyright © 2011-2022 走看看