工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
思路为;
1.定义工厂接口
2.定义工厂接口的实现工厂
3.定义产品接口
4.定义产品接口的实现类产品
5.实际调用
代码如下:
1. 定义工厂接口
/**
* 抽象工厂接口类
*/
public interface AbstractFactory {
Phone makePhone();
}
2.定义工厂接口的实现工厂
/**
* 苹果工厂-具体实现工厂
*/
public class IFactory implements AbstractFactory {
@Override
public Phone makePhone() {
return new IPhone();
}
}
/**
* 米工厂实现
*/
public class MiFactory implements AbstractFactory {
@Override
public Phone makePhone() {
return new MiPhone();
}
}
3.定义产品接口
/**
* 手机产品接口
*/
public interface Phone {
void make();
}
4.定义产品接口的实现类产品
/**
* 苹果手机产品
*/
public class IPhone implements Phone {
public IPhone() {
this.make();
}
@Override
public void make() {
System.out.println("IPhone");
}
}
/**
* 米手机产品
*/
public class MiPhone implements Phone {
public MiPhone() {
this.make();
}
@Override
public void make() {
System.out.println("MiPhone");
}
}
5.实际调用
/**
* <p>
* 工厂模式
* </p>
*
*/
public class Client {
public static void main(String[] args) {
MiFactory miFactory = new MiFactory();
miFactory.makePhone();
IFactory factory = new IFactory();
factory.makePhone();
}
}