工厂模式
一、工厂模式 参考:1.Java工厂模式
工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。
二、实现了创建者和调用者的分离
- 实例化对象,用工厂方法代替new操作。
- 将选择实现类、创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。
三、简单工厂(静态工厂)
接口定义
1 public interface Car { 2 void run(); 3 }
Car实现类
1 public class Audi implements Car { 2 @Override 3 public void run() { 4 System.out.println("奥迪再跑..."); 5 } 6 } 7 public class Byd implements Car { 8 @Override 9 public void run() { 10 System.out.println("比亚迪再跑!"); 11 } 12 }
简单工厂类
1 public class CarFactory { 2 public static Car createCar(String type){ 3 if("奥迪".equals(type)){ 4 return new Audi(); 5 }else if("比亚迪".equals(type)){ 6 return new Byd(); 7 }else{ 8 return null; 9 } 10 } 11 } 12 13 public class CarFactory2 { 14 15 public static Car createAudi(){ 16 return new Audi(); 17 } 18 public static Car createByd(){ 19 return new Byd(); 20 } 21 }
测试
1 public class Client02 { //调用者 2 public static void main(String[] args) { 3 Car c1 =CarFactory.createCar("奥迪"); 4 Car c2 = CarFactory.createCar("比亚迪"); 5 6 c1.run(); 7 c2.run(); 8 } 9 }
1)简单工厂模式也叫静态工厂模式,就是工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。
2)对于增加新产品无能为力!不修改代码的话,是无法扩展的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
2019-09-06 Eclipse之实用快捷键
2019-09-06 JVM内存模型、Java内存模型 和 Java对象模型