zoukankan      html  css  js  c++  java
  • 简单工厂模式

    工厂模式

    工厂模式是类创建模式的一种,通常是工厂类来根据传入参数的不同来创建不同类的实例,工厂类创建类的实例,这些类通常是有一个公共的父类。

    下面的这张图基本展示了这种关系

    Dataformat创建

    简单工厂模式实例

    public class SimpleFactory {
    
        public static Product getProduct(String className) throws IllegalAccessException, InstantiationException {
            if (className.equals("ProductA")) {
                return new ProductA();
            } else if (className.equals("ProductB")) {
                return new ProductB();
            } else {
                return null;
            }
        }
         //通过反射创建对象
        public static Product getProduct2(String className) throws ClassNotFoundException, IllegalAccessException, InstantiationException {
            Class aClass = Class.forName(className);
            return (Product) aClass.newInstance();
    
        }
    
        public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
    
            Product pro = SimpleFactory.getProduct2("ProductA");
            pro.print();
            //pro.print();
        }
    }
        abstract class Product{//父类
            public void print() {
    
            }
        }
         class ProductA extends  Product{
            public void print(){
                System.out.println("A success build");
            }
        }
        class ProductB extends  Product{
            public void print(){
                System.out.println("B success build");
            }
        }
    
    

    小结

    工厂模式优点:实现对象创建和使用的分离,客户端人员只需要掌握如何使用而不用管对象是如何创建出来的。

    工厂模式缺点:新增一个新产品就要修改工厂类创建实例时候的判断逻辑部分的代码。

  • 相关阅读:
    写在读ng之前的基础知识----笔记
    angularJS中-$route路由-$http(ajax)的使用
    angular学习-入门基础
    grunt使用watch和livereload的Gruntfile.js的配置
    jQuery1.4源码解读
    Handlebars的使用方法文档整理(Handlebars.js)
    zepto源代码解读
    CentOS 安装rz和sz命令
    Linux下*.tar.gz文件解压缩命令
    Linux下用rm删除的文件的恢复方法
  • 原文地址:https://www.cnblogs.com/cstdio1/p/13454975.html
Copyright © 2011-2022 走看看