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");
            }
        }
    
    

    小结

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

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

  • 相关阅读:
    Fiddler-代理-过滤-弱网测试
    POJ2186 Popular Cows
    POJ3264 Balanced Lineup
    多模式串字符串匹配模板题
    Intersecting Lines
    实现堆结构
    OpenJuege 兔子与星空
    拓扑排序
    POJ3635 Full Tank?
    OpenJudge Cartesian Tree
  • 原文地址:https://www.cnblogs.com/cstdio1/p/13454975.html
Copyright © 2011-2022 走看看