工厂模式
一、工厂模式 参考: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)对于增加新产品无能为力!不修改代码的话,是无法扩展的。