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

      从今天开始学习java设计模式,记下并分享自己的一些笔记。

     简单工厂模式 :简单工厂模式又叫静态工厂方法模式,它定义了一个具体的工厂类负责创建一些类的实例。

    工厂就是用来制作产品的地方。假设有一个工厂可以生产汽车和自行车,他们具有相同的特性行驶。

    首先,我们先创建一个具有相同特性的产品抽象类Product() 它具有一个抽象方法run(),创建两个产品继承产品类

    public abstract class Product {
    
        public abstract void run();
    
    }
    
    public class Car extends Product {
        @Override
        public void run() {
            System.out.println("drive car");
        }
    }
    
    public class Bicycle extends Product {
        @Override
        public void run() {
            System.out.println("ride on a bicycle");
        }
    }

    接着创建一个工厂用来生产产品

    public class Factory {
        public static Product createProduct(String productName){
            Product product = null;
            switch (productName){
                case "car":
                    product = new Car();
                    break;
                case "bicycle" :
                    product = new Bicycle();
                    break;
            }
            return product;
        }
    }

    当顾客想要某种商品时直接告诉工厂就可以了,而不关心工厂具体生产产品的细节

    public class Customer {
        public static void main(String[] args) {
            Product car = Factory.createProduct("car");
            car.run();
            Product bicycle = Factory.createProduct("bicycle");
            bicycle.run();
        }
    }

    优点:顾客不再过问产品生产细节,全由工厂负责,顾客直接面向工厂对象,明确了个各类的职责。

    缺点:当工厂需要添加新的产品时,就需要去修改工厂类,不利于后期维护。

  • 相关阅读:
    面向对象
    PIL库学习及运用
    Jieba库使用和好玩的词云
    Python汉诺塔问题
    用python计算圆周率PI
    使用python画一只佩奇
    面向对象与正则表达式的学习
    美白,磨皮,搞笑图片处理
    tuetle制作汉诺塔
    python圆周率的计算及进度条提示
  • 原文地址:https://www.cnblogs.com/yimengyizhen/p/11061831.html
Copyright © 2011-2022 走看看