俗话说好记性不如烂笔头,今日有空总结一下工厂模式,就当加深一下理解。
1、 工厂模式是什么,有什么用?
工厂模式就是利用工厂来创建对象,客户自己不用直接创建对象,而是利用工厂来创建对象。
2、工厂模式分类
简单工厂模式
工厂方法模式
抽象工厂模式
简单工厂模式可以看做工厂方法模式的一个特例,而抽象方法模式相当于工厂方法模式在维度上的一个扩展。
3、 工厂方法模式
工厂方法模式的要点:
抽象工厂和具体工厂
抽象产品和具体产品
抽象工厂生产抽象产品,具体工厂生产具体产品
以手机生产商作为例子分析工厂方法:
抽象工厂和具体工厂:手机工厂和苹果手机工厂、索尼手机工厂以及三星手机工厂
抽象产品和具体产品:手机和苹果手机,索尼手机以及三星手机
抽象工厂生产抽象产品,具体工厂生产具体产品:手机工厂生产手机,苹果工厂造苹果手机...
代码:
//客户类
public class FactoryClient{
public static void main(String[] args){
PhoneFactory factory1 = new IphoneFactory();
Phone phone1 = factory1.createPhone();
phone1. phoneMessage();
PhoneFactory factory2 = new SonyFactory();
Phone phone2 = factory2.createPhone();
phone2. phoneMessage();
PhoneFactory factory3 = new SamsungFactory();
Phone phone3 = factory3.createPhone();
phone3. phoneMessage();
}
}
//抽象工厂 ===> 生产抽象手机
interface PhoneFactory{
Phone createPhone();
}
//具体工厂 ====>生产具体手机
class IphoneFactory implements PhoneFactory{
public Phone createPhone(){
return new Iphone();
}
}
class SonyFactory implements PhoneFactory{
public Phone createPhone()