美文网首页
结构型模式:08-桥接模式

结构型模式:08-桥接模式

作者: 综合楼 | 来源:发表于2021-06-12 14:18 被阅读0次
    image.png
    image.png
    image.png
    package com.zhs.design.bridge.demo2.db;
    
    public interface DataBase {
        String output(String fileName);
    }
    --------------------------------------------------------------
    public class MySqlDB implements DataBase {
        @Override
        public String output(String fileName) {
            return "MySqlDB:"+fileName;
        }
    }
    --------------------------------------------------------------
    public class OracleDB implements DataBase {
        @Override
        public String output(String fileName) {
            return "OracleDB:"+fileName;
        }
    }
    --------------------------------------------------------------
    public class PostgreDB implements DataBase {
        @Override
        public String output(String fileName) {
            return "PostgreDB:"+fileName;
        }
    }
    
    
    import com.zhs.design.bridge.demo2.db.DataBase;
    
    public abstract class AbstractFileTool {
        protected DataBase dataBase;
    
        public AbstractFileTool(DataBase dataBase) {
            this.dataBase = dataBase;
        }
    
        public abstract String parseFile(String fileName);
    }
    --------------------------------------------------------------
    public class PdfTool extends AbstractFileTool {
        public PdfTool(DataBase dataBase) {
            super(dataBase);
        }
    
        @Override
        public String parseFile(String fileName) {
            return dataBase.output(fileName)+".pdf";
        }
    }
    --------------------------------------------------------------
    public class TxtTool extends AbstractFileTool {
        public TxtTool(DataBase dataBase) {
            super(dataBase);
        }
    
        @Override
        public String parseFile(String fileName) {
            return dataBase.output(fileName)+".txt";
        }
    }
    --------------------------------------------------------------
    public class XmlTool extends AbstractFileTool {
        public XmlTool(DataBase dataBase) {
            super(dataBase);
        }
    
        @Override
        public String parseFile(String fileName) {
            return dataBase.output(fileName)+".xml";
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            PdfTool tool = new PdfTool(new MySqlDB());
            String s = tool.parseFile("人员");
            System.out.println(s);
        }
    }
    

    相关文章

      网友评论

          本文标题:结构型模式:08-桥接模式

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