在软件开发中,对象的创建是一个基础且频繁的操作。随着项目规模的增长,直接使用 new 关键字实例化对象的方式可能导致代码耦合度高、难以维护和扩展。为了解决这一问题,设计模式应运而生,而简单工厂模式(Simple Factory Pattern)作为创建型模式的入门基石,以其简洁直观的特性,在众多场景中发挥着重要作用。
简单工厂模式,又称静态工厂方法模式,它提供一个专门的类(通常称为工厂类)来负责创建其他类的实例。客户端不直接调用具体类的构造函数,而是通过向工厂类传递参数,由工厂类根据参数决定创建并返回哪一种产品类的对象。其核心在于将对象的创建逻辑封装起来,使客户端代码与具体产品类解耦。
简单工厂模式通常包含以下三个角色:
createProduct),根据传入的参数或条件返回不同的产品对象。假设我们正在开发一个图形绘制程序,需要创建不同的形状(如圆形、矩形、三角形)。不使用模式时,客户端代码需要明确知道每个具体形状类的存在。而使用简单工厂模式后:
Shape 接口,包含 draw() 方法。Circle、Rectangle 类,实现 Shape 接口。ShapeFactory,提供一个静态方法 getShape(String type)。当传入参数为 “CIRCLE” 时,返回 Circle 对象;为 “RECTANGLE” 时,返回 Rectangle 对象。这样,客户端代码只需调用 ShapeFactory.getShape("CIRCLE").draw() 即可,无需关心 Circle 是如何被实例化的。当需要新增三角形时,只需添加新的具体产品类并在工厂方法中增加一个判断分支,客户端代码基本无需改动。
简单工厂模式适用于以下情况:
简单工厂模式是一种非常实用且易于理解的设计模式。它通过封装对象的创建过程,有效降低了模块间的耦合度,使代码结构更加清晰。其违背开闭原则的缺陷也决定了它更适合于产品类型稳定、变化不频繁的场景。在软件开发中,准确识别场景需求,合理运用简单工厂模式,可以显著提升代码的初始质量,并为后续的架构演进铺平道路。当系统复杂度增加时,应及时考虑升级到工厂方法模式或抽象工厂模式,以获得更好的扩展性。
如若转载,请注明出处:http://www.zstv72.com/product/67.html
更新时间:2026-04-12 14:10:48