• 简单工厂模式【java版】


    一、简单工厂模式的组成部分

         a)抽象产品: 在接口中指定了每种具体产品需要实现的方法

            具体产品: 实现接口

         b)工厂类:根据具体的参数,创建和返回相应的具体产品,由主程序直接调用

    二、代码实现

    抽象产品:Car

    package com.simpleFactory;

    public interface Car {

    public void run();

    }

    具体产品1:BENZ

    package com.simpleFactory;

    public class BENZ implements Car {

    public void run() {
    // TODO Auto-generated method stub
    System.out.println("BENZ is running!");
    }

    }

    具体产品2:BMW

    package com.simpleFactory;

    public class BMW implements Car {

    public void run() {
    // TODO Auto-generated method stub
    System.out.println("BMW is running!");
    }

    }

    工厂类:Factory

    package com.simpleFactory;

    public class Factory {

    /**
    * 静态工厂方法
    *
    */
    public static Car createCar(String carName){
    Car car = null;

    if(carName.equalsIgnoreCase("BMW")){
    car = new BMW();
    }else if(carName.equalsIgnoreCase("BENZ")){
    car = new BENZ();
    }

    return car;
    }

    }

    主函数:

    package com.simpleFactory;

    public class Main {

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("开始测试简单工厂模式!");

    Car car_A=Factory.createCar("BENZ");
    car_A.run();
    Car car_B=Factory.createCar("BMW");
    car_B.run();

    }

    运行结果:

     说明:虽然简单工厂模式使用广泛,但有个十分明显的特点:每增加一个新类, 就必须

       修改“工厂类中生产产品的静态方法”,如此并不符合“开闭原则”(对扩展开放,对改变关闭)

      

        

  • 相关阅读:
    奥东......NGUI Scroll View
    奥东......Unity中小技巧
    java-web 小知识点
    奥东here......Unity中的协程
    JAVA 犯错汇总
    python 模拟 java hashcode
    pyqt文件转换成python代码
    loadrunner 运行javavuser报错Failed to get JRE version解决方法
    python 实现 loadrunner xml脚本格式化
    loadrunner web_custom_request 脚本处理
  • 原文地址:https://www.cnblogs.com/edisonfeng/p/2218362.html
Copyright © 2020-2023  润新知