美文网首页
桥接模式

桥接模式

作者: 要学的东西太多了 | 来源:发表于2018-10-31 11:57 被阅读0次

    桥接模式适用于某个类存在两个或多个不同维度变化的情况,相比多重继承来说,桥接模式更符合单一职责原则,更易于拓展,使得两个或多个维度的拓展变得容易,实现了抽象实现和具体实现的解耦。示例如下:

    public class Bridge {
        public static void main(String[] args){
            Bridge bridge=new Bridge();
            SQL mySql = bridge.new MySql();
            Read ppt = bridge.new PPT();
            ppt.setSql(mySql);
            ppt.readData();
        }
        interface SQL{
            String getName();
        }
    
        class MySql implements SQL{
            @Override
            public String getName() {
                return "MySql数据库";
            }
        }
    
        class Oracle implements SQL{
            @Override
            public String getName() {
                return "Oracle数据库";
            }
        }
    
        class SqlServer implements SQL{
            @Override
            public String getName() {
                return "SqlServer数据库";
            }
        }
    
        abstract class Read{
            private SQL sql;
    
            public SQL getSql() {
                return sql;
            }
    
            public void setSql(SQL sql) {
                this.sql = sql;
            }
    
            public abstract void readData();
        }
    
        class PPT extends Read{
            @Override
            public void readData() {
                System.out.println(getSql().getName()+"读取PPT");
            }
        }
    
        class EXCEL extends Read{
            @Override
            public void readData() {
                System.out.println(getSql().getName()+"读取EXCEL");
            }
        }
    
        class WORD extends Read{
            @Override
            public void readData() {
                System.out.println(getSql().getName()+"读取WORD");
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:桥接模式

          本文链接:https://www.haomeiwen.com/subject/sszotqtx.html