Java设计模式之三---工厂模式
2023-04-18 13:13:04 时间
关于SpringBoot集成使用策略模式请翻阅我的另一篇博客,上边详细介绍了使用方式
三、工厂模式
定义:任何可以产生对象的方法或类,都可以称之为工厂。单例也是一种工厂----静态工厂。
- 一个抽象产品类
- 多个具体产品类
- 一个抽象工厂
- 多个具体工厂 - 每一个具体产品对应一个具体工厂
- 符合 - OCP开放封闭原则
优点
- 降低了代码耦合度,对象的生成交给子类去完成
- 实现了开放封闭原则 - 每次添加子产品 不需要修改原有代码
缺点
- 增加了代码量,每个具体产品都需要一个具体工厂
- 当增加抽象产品 也就是添加一个其他产品族 需要修改工厂 违背OCP
工厂模式之简单工厂
简单工厂又称静态工厂
/**
* @author Liutx
* @date 2020/11/30 21:38
* @Description 生产工具工厂,工厂可以生成不同的工具对象
*/
public class VehicleFactory {
/**
* 自定义生产过程,前边可以加日志处理、权限处理等
*
* @return
*/
public Car createCar() {
return new Car();
}
public Broom createBroom() {
//扫帚的权限控制省略
return new Broom();
}
public Plane createPlane() {
return new Plane();
}
}
缺点
- 扩展性不好,没新增一种工厂,需要新增一个工厂类。违反OCP开放封闭原则
新增一个工厂方法:CarFactory
public class CarFactory {
public Car create() {
//日志框架
System.out.println("a car created!");
return new Car();
}
}
简单工厂可以完成任意定制不同的工厂实现(生产出不同的对象),比如Car、Plane等,可以实现任意定制生产过程(可以在生成的工厂对象的逻辑中自定义权限、日志、其他业务逻辑等),但是无法实现任意定制产品一族,任意定制产品一族可以使用抽象工厂。
工厂模式之抽象工厂
相关文章
- Jease 2.6发布 Java开源内容框架
- JVM调优总结:反思
- JVM调优总结:调优方法
- JVM调优总结:新一代的垃圾回收算法
- JVM调优总结:典型配置举例
- JVM调优总结:分代垃圾回收详述
- JVM调优总结:垃圾回收面临的问题
- JVM调优总结:基本垃圾回收算法
- JVM调优总结:一些概念
- 用Java GUI编写的画板程序
- Java的动态绑定机制
- jOOQ 2.0.2发布 Java的ORM框架
- Java中带复选框的树的实现和应用
- Java网络编程菜鸟进阶:TCP和套接字入门
- 甲骨文与谷歌专利权之争定于今年三月开审
- Java调用C/C++编写的第三方dll动态链接库
- 集成开发环境 NetBeans IDE 7.1正式版发布
- kangle 2.7.5紧急发布 防hash碰撞攻击
- 东方通技术引领模式为国产软件“争权”
- UML中关联,组合与聚合等关系的辨析