工厂模式的介绍
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一,它提供了一种创建对象的方式,使得创建对象的过程与使用对象的过程分离。
工厂模式提供了一种创建对象的方式,而无需指定要创建的具体类。
通过使用工厂模式,可以将对象的创建逻辑封装在一个工厂类中,而不是在客户端代码中直接实例化对象,这样可以提高代码的可维护性和可扩展性。
重点:其中的核心思想就是把创建对象和使用对象解耦,由工厂负责对象的创建,而用户只能通过接口来使用对象,这样就可以灵活应对变化的业务需求
**注意:**如果对象较为简单,通过 new 即可完成创建,则不必使用工厂模式。使用工厂模式会引入一个工厂类,增加系统复杂度。
单例模式的实现
首先定义一个创建对象的接口,让其子类决定实例化哪一个具体的类
javapublic interface People { void talk(); }
创建实现接口的两个实体类。
java//学生 public class Student implements People{ @Override public void talk() { System.out.println("我是一名学生"); } } //老师 public class Teacher implements People{ @Override public void talk() { System.out.println("我是一名老师"); } }
创建一个工厂,生成基于给定信息的实体类的对象。
javapublic class PeopleFactory { public People getShape(String peopleType){ if(peopleType == null){ return null; } if(peopleType.equalsIgnoreCase("Teacher")){ return new Teacher(); } else if(peopleType.equalsIgnoreCase("Student")){ return new Student(); } return null; } }
测试
javapublic class FactoryDemo { public static void main(String[] args) { PeopleFactory peopleFactory = new PeopleFactory(); People people1 = peopleFactory.getShape("Teacher"); people1.talk(); People people2 = peopleFactory.getShape("Student"); people2.talk(); } }
结果