当前位置: 首页 > news >正文

除GOF23种设计模式之简单工厂模式

文章目录

  • 1. 简介
  • 2. 代码
    • 2.1 抽象类:Course.java
    • 2.2 产品A:JavaCourse.java
    • 2.3 产品B:PythonCourse.java
    • 2.4 工厂:CourseFactory.java
    • 2.5 测试:Test.java
  • 3. 心得
  • 参考链接(无)

1. 简介

简单工厂模式(Simple Factory Patern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式
在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
在这里插入图片描述

2. 代码

2.1 抽象类:Course.java

public abstract class Course{public abstract void make();
}

2.2 产品A:JavaCourse.java

public class JavaCourse extends Course {@Overridepublic void make() {System.out.println("制作java课程");}}

2.3 产品B:PythonCourse.java

public class PythonCourse extends Course{@Overridepublic void make() {System.out.println("制作python课程");}}

2.4 工厂:CourseFactory.java

public class CourseFactory {public Course getCourse(String name) {if ("java".equalsIgnoreCase(name)) {return new JavaCourse();} else if ("python".equalsIgnoreCase(name)) {return new PythonCourse();}return null;}
}

2.5 测试:Test.java

public class Test {public static void main(String[] args) {CourseFactory courseFactory = new CourseFactory();Course javaCourse =  courseFactory.getCourse("java");javaCourse.make();Course pyCourse = courseFactory.getCourse("python");pyCourse.make();}
}

运行结果

制作java课程
制作python课程

3. 心得

其实就是通过一个抽象类,多个实现,利用工厂将其整合在一起,这个很简单。比如:我们要做一个计算器,一个含有计算方式的抽象类,四个加减乘除,随后计算器整合起来

参考链接(无)


http://www.mrgr.cn/news/52532.html

相关文章:

  • 微分几何-曲线论(曲线)
  • 探索Python中的多线程与多进程
  • python的多线程和多进程
  • 力扣 3.无重复字符的最长子串——Java
  • C++简答题复习
  • 【动手学电机驱动】TI InstaSPIN-FOC(5)Lab04 电机力矩闭环控制
  • pycharm中鼠标选择文本会自动复制
  • 优化UVM环境(五)-将case运行结果:pass/fail打印放在uvm report summary后面
  • Spring Boot比Spring多哪些注解
  • 更加灵活便捷!Fortinet统一SASE解决方案全新增强功能来袭
  • 字典如何与选择器一起使用
  • open-cd中的changerformer网络结构分析
  • 设计模式概览
  • 爬虫基础---python爬虫系列2
  • 【C++11】可变模板参数详解
  • React中的函数组件与类组件
  • Java语言-抽象类
  • C实现本地资源文件编译时加载
  • TELEDYNE DALSA相机连接编码器
  • 双调TSP问题最牛逼的解法,不接受所有人反驳