设计模式:简单工厂

简单工厂模式:又叫静态工厂方法模式,是通过专门定义一个类来负责他的实例,被创建的实例通常都具有共同的父类。
UML模型:
设计模式:简单工厂
职责:
工厂角色(Creator):负责创建所有类的内部逻辑,工厂类必须能够被外界调用,创建所需要的产品对象
抽象产品:简单工厂模式所创建的父类,这里的父类可以是接口也可以是抽象类,它负描述所所有实例所共有的公共接口。
具体产品角色:简单工厂所创建的具体实例对象,这些具体的产品往往都拥有共同的父类。

具体实例:

设计模式:简单工厂

CashSuper: 提供一个现金收取的抽象方法,参数是原价
CashNormal:正常收费
CashRebate: 打折收费,返回打折后的价格
CashReturn:返钱收费,返回返利后的价格

CashFactory:传递一个类型,比如打折收费,返回当前类型对象,并调用当前对象的acceptCash方法,可以返回当前支付现金。