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

    桥接模式


    设计原则:遵循单一职责、迪米特、开闭原则,体现功能复用
    常用场景:一个对象有多个维度的变化,需要将这些维度抽离出来,让其独立变化
    使用概率:20%
    复杂度:中高
    变化点:维度的扩展与增加
    选择关键点:是否可以将对象拆分成多个不相关的维度
    逆鳞:无


    主要思想:
    桥接类 实际也相当于一个组合类,该类持有不同接口或抽象类的对象,使用时赋予不同的子类
    说是桥就是一个连接
    比如 接口1 实现类11 实现类12
    接口2 实现类21 实现类22
    桥持有接口1、2 那么就桥接实现11、21或11、22等



    public interface MyInterface1 {
        public void do1();
    }
    
    
    public interface MyInterface2 {
        public void do2();
    }
    
    public class MyImplement11 implements MyInterface1{
        @Override
        public void do1() {
            System.out.println("11");
        }
    }
    
    public class MyImplement12 implements MyInterface1 {
        @Override
        public void do1() {
            System.out.println("12");
        }
    }
    
    public class MyImplement21 implements MyInterface2{
        @Override
        public void do2() {
            System.out.println("21");
        }
    }
    
    public class MyImplement22 implements MyInterface2 {
        @Override
        public void do2() {
            System.out.println("21");
        }
    }
    
    
    public class MyBridge {
        //桥接 接口1、2的实现类,赋值不同实现类,桥连接就改变了
        private MyInterface1 interface1;
        private MyInterface2 interface2;
    
    
        public void dosomething(){
            interface1.do1();
            interface2.do2();
        };
    
        public void setInterface1(MyInterface1 interface1) {
            this.interface1 = interface1;
        }
    
        public void setInterface2(MyInterface2 interface2) {
            this.interface2 = interface2;
        }
    }
  • 相关阅读:
    SQL一般注入(一)
    SQl注入的分类
    SQl注入常见参数
    wireshark
    分享.Net 设计模式大全
    .net Core实战简单文件服务器
    .net Core中间件实战
    c#5.0/6.0/7.0
    使用Bot Framework建立你的第一个聊天机器人
    如何用.net制作一个简易爬虫抓取华为应用市场数据
  • 原文地址:https://www.cnblogs.com/zhaojj/p/7772846.html
Copyright © 2011-2022 走看看