简单工厂模式不能说是一个设计模式,说它是一种编程习惯可能更恰当些。因为它至少不是23种设计模式之一。但它在实际的编程中经常被用到,而且思想也非常简单,可以说是工厂方法模式的一个引导。
简单工厂就是把创建逻辑封装起来,通过type或者 类类型 区分创建不同的实例返回给客户端。
模式结构
简单工厂模式包含如下角色:
Factory:工厂角色
Product:抽象产品角色
ConcreteProduct:具体产品角色
工厂角色:工厂角色负责根据参数不同,创建不同的实例对象。
抽象产品角色:负责申明所有具体实现的通用接口,例如 Course接口,定义方法,study(String type)
具体产品角色:继承抽象产品角色, 工厂角色产出物为具体产品角色的某一个具体对象,具体产品对象一般为多个;
下面给一个demo实例
正常情况下,我们创建一个