最近一直在学习设计模式,最先开始看的就是工厂模式,学完《深入浅出设计模式》后,对设计模式有了一定的了解,因此写一篇博客对工厂模式进行一个总结,如有不对之处,希望大家帮忙指出,谢谢!
1.工厂模式分为三种:
(1)简单工厂模式;
(2)工厂方法模式;
(3)抽象工厂模式
2.先来看简单工厂模式:
简单工厂模式又称为静态工厂方法模式,由三个部分组成:
(1)工厂类角色:本模式的核心含有一定的商业逻辑和判断逻辑,在java中它往往由一个具体类实现;
(2)抽象产品角色:具体产品角色所继承的父类或者接口,在java中由接口或者抽象类来实现;
(3)具体产品角色:工厂类所创建的对象就是此角色的实例,在java中由一个具体类实现。
3.工厂方法模式:
工厂方法模式由四个部分组成:
(1)抽象工厂角色:此模式的核心,它与应用程序无关,是具体工厂角色必须实现的接口或继承的父类,在java中由抽象类或接口来实现;
(2)具体工厂角色:它含有和具体业务逻辑有关的代码。由应用程序调用以创建对应的具体产品的对象;
(3)抽象产品角色:它是具体产品实现的接口或实现的父类,在java中一般由抽象类或接口来实现;
(4)具体产品角色:具体工厂角色所创建对象就是此角色的实例,在java中由具体类实现;
4.抽象工厂模式:
抽象工厂模式由四个部分组成:
(1)抽象工厂角色:此模式的核心,它与应用程序无关,是具体工厂角色必须实现的接口或继承的父类,在java中由抽象类或接口来实现;
(2)具体工厂角色:它含有和具体业务逻辑有关的代码。由应用程序调用以创建对应的具体产品的对象;
(3)抽象产品角色:它是具体产品实现的接口或实现的父类,在java中一般由抽象类或接口来实现;
(4)具体产品角色:具体工厂角色所创建对象就是此角色的实例,在java中由具体类实现;