(1.4)工厂模式应用场景
一、简单工厂模式在JDK中典型应用
DriverManager是一个工厂类
不同的数据库(MySql、Oracle)相当于具体的产品
直接向工厂里传入具体产品的参数(而不用关系具体使用的是什么数据库),就能用静态方法连接到数据库的Connection
String user="root";
String password="123456";
String url="jdbc:mysql://localhost:3306/learn";
con=DriverManager.getConnection(url,user,password);
二、工厂方法模式在JDK 中应用
java.util.Collection
接口中定义了一个抽象的iterator()
方法,该方法就是一个工厂方法。
对于iterator()
方法来说Collection
就是一个根抽象工厂,下面还有List
等接口作为抽象工厂,再往下有ArrayList
等具体工厂。
java.util.Iterator
接口是根抽象产品,下面有ListIterator
等抽象产品,还有ArrayListIterator
等作为具体产品。
使用不同的具体工厂类中的iterator
方法能得到不同的具体产品的实例。
Collection co=new ArrayList(); //确实是哪个工厂 Collection:抽象工厂 ArrayList是具体工厂
Iterator it=co.iterator(); //调用抽象工厂里方法即生产产品
三、 抽象工厂模式在JDK中应用