设计模式——工厂设计模式
JavaSE进阶——该篇主要讲解Java中的工厂设计模式
sum: 保证类与类的低耦合
工厂设计模式及其作用
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。之前创建类对象时, 都是使用 new 对象的形式创建, 除new 对象方式以外, 工厂模式也可以创建对象.
工厂设计模式的作用
解决类与类之间的耦合问题
工厂设计模式实现步骤(案例)
需求:定义汽车工厂类,生产各种品牌的车
实现步骤
- 编写一个Car接口, 提供run方法
- 编写一个Falali类实现Car接口,重写run方法
- 编写一个Benchi类实现Car接口,重写run方法
- 提供一个CarFactory(汽车工厂),用于生产汽车对象
- 定义CarFactoryTest测试汽车工厂
1 | package com.itheima.factorydesign_demo; |
总结
public class Student{
….
}
//耦合性高: 当更换类时,需要修改代码
MyStudent stu = new MyStudent();
//新方案: 接口或父类
public interface Person{
}
public class Student implements Person{
…
}
public class Worker implements Person{
….
}
//耦合降低了,但还是存在耦合
Person p = new Student();//多态
//新方案: 工厂模式 (解决类和类之间耦合问题)
public class 工厂类 {
//实现对象的创建 (例:创建学生对象、创建老师对象、创建工人对象、….)
//私有构造方法
private 工厂类(){}
//静态方法
public static Person getInstance(String name){
if(“teacher”.eqauls(name)){
return new Teacher();
}
if(“student”.equals(name)){
return new Student();
}
}
}
//配置文件: bean.properties
name=teacher
//使用工具类,加载bean.properties配置文件
ResourceBundle rb = ResourceBundle.getBundle(“bean”);
String beanName = rb.getString(“name”);
Person p = 工厂类.getInstance( beanName );
//由程序员主动创建对象,变为被动在获取对象 (对象的创建权转移到:工厂类)