• 设计模式(简单工厂模式)


    简单工厂主要用以替代类的创建,通常我们是在类A中去new 类B,如果此时B具有较多的可能性,则需要将A、B解耦。如下图所示:

    如本例中,报表保存方式可以是pdf、csv,因此我们将其接口抽象出来,并以一个工厂方法对外提供。

    • 抽象接口ReportSave
    public interface ReportSave {
        public void save();
    }
    • 实现类ReportPdfSave
    public class ReportPdfSave implements ReportSave {
    
        @Override
        public void save() {
            System.out.println("File saved as pdf");
        }
    }
    • 实现类ReportCsvSave
    public class ReportCsvSave implements ReportSave {
    
        @Override
        public void save() {
            System.out.println("File saved as csv");
        }
    }
    • 工厂类ReportSaveFatory
    public class ReportSaveFatory {
        public ReportSave getSave(String type){
            
            if(null == type){
                return null;
            }
            
            if(type.equals("PDF")){
                return new ReportPdfSave();
            }else if(type.equals("CSV")){
                return new ReportCsvSave();
            }else{
                return new ReportPdfSave();
            }
        }
    }
  • 相关阅读:
    sublimetext插件安装
    解决Nextcloud 无法删除目录
    常用文章信息
    使用豆瓣的pip源安装python模块
    top命令的使用
    Centos 7 防火墙 firewalld 简单使用说明
    CentOS 7 时间同步方法
    二进制
    字典
    集合
  • 原文地址:https://www.cnblogs.com/Fredric-2013/p/4570906.html
Copyright © 2020-2023  润新知