文章目录
- 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 {
@Override
public void make() {
System.out.println("制作java课程");
}
}
2.3 产品B:PythonCourse.java
public class PythonCourse extends Course{
@Override
public 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. 心得
其实就是通过一个抽象类,多个实现,利用工厂将其整合在一起,这个很简单。比如:我们要做一个计算器,一个含有计算方式的抽象类,四个加减乘除,随后计算器整合起来