从今天开始 每天进步一点点。开始了解并学习设计模式,就从简单的工厂模式开始吧....
简单工厂模式(Simple Factory):不利于产生系列产品
简单工厂模式又称静态工厂方法模式。重命名上就可以看出这个模式一定很简单。它存在的目的很简单:定义一个用于创建对象的接口。
在简单工厂模式中,一个工厂类处于对产品类实例化调用的中心位置上,它决定那一个产品类应当被实例化, 如同一个交通警察站在来往的车辆流中,决定放行那一个方向的车辆向那一个方向流动一样。
先来看看它的组成:
1) 工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现。
2) 抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现。
3) 具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现。
1) 工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现。
2) 抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现。
3) 具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现。
一句话概括就是
简单工厂模式是由一个具体的类去创建其他类的实例,父类是相同的,父类是具体的。
接下来 就用简单的工厂模式设计一个计算器:
首先 我们先创建一个实体类:
接着就开始创建加减乘除的实体类来继承这个基础的具体父类
然后就开始创建工厂类
最终的运行结果:
这个计算器只需要输入运算符号,工厂就实例化出合适的对象,通过多态,返回父类的方式实现了计算器的结果。
来源:https://www.cnblogs.com/leor/p/6102663.html