• java 设计模式 ---- 工场模式


    官方描述: 定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类

    土话描述: 先把所有的情况设先计出来, 后面根据条件实现哪种情况

      比如我想找女朋友, 喜欢的类型可能是: 屁股大的, 胸挺的, 脸蛋园的, 同事里面这几种类型都有, 后面我妈说找个屁股大的, 那我就选了小方.....

    创建一个接口

    public interface Shape {
       void draw();
    }

    实例类: 圆

    public class Circle implements Shape {
     
       @Override
       public void draw() {
          System.out.println("Inside Circle::draw() method.");
       }
    }

    实例类: 矩形

    public class Rectangle implements Shape {
     
       @Override
       public void draw() {
          System.out.println("Inside Rectangle::draw() method.");
       }
    }

    创建工场

      由工场来创建具体的图形

    public class ShapeFactory {
        
       //使用 createShape 方法获取形状类型的对象
       public Shape createShape(String shapeType){
          if(shapeType == null){
             return null;
          }        
          if(shapeType.equalsIgnoreCase("CIRCLE")){
             return new Circle();
          } 
        if(shapeType.equalsIgnoreCase("RECTANGLE")){ return new Rectangle(); } return null; } }

    使用工场

    public class FactoryPatternDemo {
     
       public static void main(String[] args) {
          ShapeFactory shapeFactory = new ShapeFactory();
     
          //获取 Circle 的对象,并调用它的 draw 方法
          Shape shape1 = shapeFactory.getShape("CIRCLE");
     
          //调用 Circle 的 draw 方法
          shape1.draw();
     
       }
    }
  • 相关阅读:
    Python(二)
    Python(三)
    Python(一)
    shell(计算机壳层)(一)
    web.xml中 /和/*的区别
    dubbo-admin监控搭建2.6.0版本
    Centos7安装maven
    Dubbo启动时qos-server can not bind localhost:22222错误解决
    Centos7安装zookeeper
    mysql5和mysql8连接数据库的配置
  • 原文地址:https://www.cnblogs.com/huanggy/p/9873594.html
Copyright © 2020-2023  润新知