工厂方法-facotry method

定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

1、一个工厂对应一个产品

这里写图片描述

2、

这里写图片描述

使用以下代码实现对象,可以只使用1个工厂,而产生多个对象

public <T extends Product> T createProduct(Class<T> c) {


        Product product = null;
        try {
            product = (Product)Class.forName(c.getName()).newInstance();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return (T)product;
    }

优点:

 将父类的方法,延迟到子类实现
 
 解耦、屏蔽产品类的实现、良好的封装性
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,188评论 19 139
  • 1 场景问题# 1.1 导出数据的应用框架## 考虑这样一个实际应用:实现一个导出数据的应用框架,来让客户选择数据...
    七寸知架构阅读 11,795评论 6 75
  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 9,407评论 1 15
  • 先分析 ->后做敢为 ->有信心 -> 然后在循环,成功一定会有的。
    工匠良辰阅读 1,045评论 0 0
  • 晚上看杨帆主持的《越战越勇》,看到演员谢兰对她当年的体操教练的感恩之情,一下子勾起了我对我当年的班主任张飞燕的思念...
    彩莲阅读 2,915评论 0 0

友情链接更多精彩内容