zoukankan      html  css  js  c++  java
  • 设计模式之工厂模式(Factory)

    简单工厂模式:

    interface IShape {
        public void draw();
    }
    
    class Circular implements IShape {
        @Override
        public void draw() {
        System.out.println("圆形");
        }
    }
    
    class Rectangle implements IShape {
        @Override
        public void draw() {
        System.out.println("矩形");
        }
    }
    class ShapeFactory {
        public static IShape getInstance(String className) {
              if("Circular".equalsIgnoreCase(className)) {
                    return new Circular();
              }else if("Rectangle".equalsIgnoreCase(className)) {
                    return new Rectangle();
              }else {
                    return null;
              }
        }
    }
    public class FactoryPatternDemo {
    
        public static void main(String[] args) {
            IShape shape = ShapeFactory.getInstance(args[0]);
            shape.draw();
        }
    
    }
    
    特点:通过使用一个共同的接口来指向实例化对象,工厂方法通常是静态,避免在获取对象时重复创建。

    优点:可以根据参数的不同返回不同类的实例,相当于创建对象时的逻辑过程对客户端隐藏。

    缺点:产品增加,需要添加相应的条件判断和产品类型,不利于后期维护。

  • 相关阅读:
    java集合--使用集合应该关注的方面
    Linux环境Java多版本管理与切换
    java集合--LinkedList源码
    Java集合--ArrayList源码
    数据库规范化(范式)
    Java异常
    Java内部类
    Java抽象类和接口
    JavaScript 语句
    Vue.js简介
  • 原文地址:https://www.cnblogs.com/cnyl/p/13626810.html
Copyright © 2011-2022 走看看