工厂模式可以分为:①简单工厂模式 ②普通工厂模式 ③静态工厂模式 ④抽象工厂模式
简单工厂模式:就是如何去实例化对象的问题,对于很容易变化的问题,应该考虑用一个单独的类来做这个创造实例的过程,这个单独的类就是工厂
例子:通过简单工厂创建各种图形的实现过程
简单工厂模式创建步骤:
①创建一个接口(例:图形接口) ②创建实现接口的实体类(例:长方形、正方形、圆形) ③创建一个工厂类(创建各种图形的工厂),工厂类中提供一个根据传入具体类型而获取接口对应实体类的方法。
1.创建一个形状的接口
public interface Shape {public void draw();}
2.实现接口来创建具体实体类
public class Square implements Shape{@Overridepublic void draw() {System.out.println("我是一个正方形");}}
public class Rectangle implements Shape{@Overridepublic void draw() {System.out.println("我是一个长方形");}}
public class Circular implements Shape{@Overridepublic void draw() {System.out.println("我是一个圆形");}}
3.创建工厂类,提供一个方法,根据传入的类型来创建接口对应的实体类
public class FactoryPattern {public Shape getShape(String entityName){if (entityName == null) {return null;}if (entityName.equals("长方形")) {return new Rectangle();}else if (entityName.equals("正方形")) {return new Square();}else if (entityName.equals("圆形")) {return new Circular();}return null;}}
4.测试
public static void main(String[] args) {FactoryPattern factoryPattern = new FactoryPattern();Shape shape = factoryPattern.getShape("长方形");shape.draw();Shape shape2 = factoryPattern.getShape("正方形");shape2.draw();Shape shape3 = factoryPattern.getShape("圆形");shape3.draw();}
输出结果
我是一个长方形我是一个正方形我是一个圆形
本文介绍简单工厂模式的概念及其应用场景,并通过创建图形实例的例子详细解析其实现步骤,包括定义图形接口、实现具体图形类及创建工厂类。
314

被折叠的 条评论
为什么被折叠?



