简单工厂模式是工厂模式家族中最简单实用的模式,简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例,主要解决创建“产品”的问题。
简单工程模式中主要涉及三个角色
1,工厂角色
工厂角色是简单工厂模式的核心,它主要定义了一些创建具体实例的内部逻辑功能,可以说是定义一些创建“产品”的具体方法,可以换直接被外部调用,创建需要的产品对象。一般这些方法是抽象方法或者虚函数。
2,抽象产品角色
抽象产品角色可以理解为具体“产品”对象的父类,它负责描述所有一些公共的接口。这些接口一般是抽象方法或者虚函数方法。
3,具体产品角色
具体产品角色是简单工厂模式中要创建的目标,它负责具体的实例化一些“产品”实例。
优点
工厂类可以根据外界信息进行逻辑判断来创建哪个具体的类。可以通过使用工厂类创建出需要的具体
产品对象,不用理会具体的内部信息。明确了各自的职责功能,有利于软件体系结构的优化。
缺点
当系统中需要创建的具体的产品对象越来越多时,会出现工厂类根据不同的外部条件创建不同的产品实例
对象。这种对条件的判断和对具体的产品类型判断糅合在一起,不利于系统的维护。
注:下面是以计算器的实例来体现简单工厂模式的设计方法。源码工程如下链接http://download.csdn.net/download/zhuzi9/9998609