文章目录
- [1. 简介](#1. 简介)
- [2. 代码](#2. 代码)
-
- [2.1 抽象类:Course.java](#2.1 抽象类:Course.java)
- [2.2 产品A:JavaCourse.java](#2.2 产品A:JavaCourse.java)
- [2.3 产品B:PythonCourse.java](#2.3 产品B:PythonCourse.java)
- [2.4 工厂:CourseFactory.java](#2.4 工厂:CourseFactory.java)
- [2.5 测试:Test.java](#2.5 测试:Test.java)
- [3. 心得](#3. 心得)
- 参考链接(无)
1. 简介
简单工厂模式 (Simple Factory Patern):又称为静态工厂方法 (Static Factory Method)模式,它属于类创建型模式
在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
2. 代码
2.1 抽象类:Course.java
java
public abstract class Course{
public abstract void make();
}
2.2 产品A:JavaCourse.java
java
public class JavaCourse extends Course {
@Override
public void make() {
System.out.println("制作java课程");
}
}
2.3 产品B:PythonCourse.java
java
public class PythonCourse extends Course{
@Override
public void make() {
System.out.println("制作python课程");
}
}
2.4 工厂:CourseFactory.java
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
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. 心得
其实就是通过一个抽象类,多个实现,利用工厂将其整合在一起,这个很简单。比如:我们要做一个计算器,一个含有计算方式的抽象类,四个加减乘除,随后计算器整合起来