工厂模式简单点说就是创建东西,工厂模式也分简单工厂模式以及普通工厂模式,
下面就用汽车来演示一下。
汽车接口:
奔驰实现类:
奥迪实现类:
汽车工厂类:
最后是测试类:
以上这个方法是最简单的,需要向工厂指定类型来创建对象,个人觉得这种方式不符合开闭原则,因为如果需要添加商品,就需要更改工厂的代码,开闭原则是:对新增开放,对修改关闭。并且这种方式代码看起来很臃肿。
以上是简单工厂模式,下面看看普通工厂模式。
汽车工厂类:
奔驰工厂类:
奥迪工厂类:
现在拥有工厂类,把生产任务交给不同工厂就可以了,不需要再指定类型去创建对象。
上面介绍的两种工厂模式有各自的应用场景,实际应用时能解决问题满足需求即可,可灵活变通,无所谓高级与低级。