简单的工厂模式分为三种:
01.普通
简历一个工厂类,对实现了同一接口的类进行实例的创建.
02.多个方法创建对象
01的方式如果出现了不匹配的字符串会返回null,可以对其进行改进,只需要改变工厂类的生产方法即可
03.多个静态方法
以上工厂模式都定义了静态方法,方便直接调用
工厂模式适用场景:凡是有大量对象需要创建,而这些对象又有共同的接口时,可以适用工厂模式,多数情况下我们采用第三种,静态工厂模式
工厂方法模式:
普通工厂模式有一个问题,当我们需要生产某个新的对象而工厂类中没有时,则需要在原工厂类的基础上添加一个新的生产方法,这就违背了闭包原则,所以工厂方法模式就是在工厂模式的基础上增加工厂类的共同接口,这样,在添加新的生产方法的时候就只需要重新定义一个工厂类实现该接口即可;