工厂模式
工厂模式最常用的设计模式之一,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
简单理解:就是创建一个工厂,生产一类产品(如:生产家具),具体生产什么家具需要通过我来告诉,比如我告诉工厂我要生产沙发,那么工厂就给我发货一个沙发,具体是怎么生产的我不关心。
优点:1、调用者只需要知道自己需要生产的东西名字,不关心如何生产。2、扩展性高,如果想生产一个产品只需要扩展一个工厂类就可以了。
缺点:每增加一个产品时,都需要有一个产品类和对工厂进行改造实现一个产品类在工厂内的实现。
案例
背景:客户要求我们对不同来源的订单(如:美团,饿了吗,阿里支付宝),进行不同类型小票的打印。
代码实现:
1、首先我们需要去创建一个接口,这个接口是用来执行打印的操作。
2、对应的去创建每个来源的打印具体实现。
3、创建工厂,只需要我们传入对应的类型,就会返回对应的打印。
使用的时候,只需要传入对应的类型即可,调用打印会打印对应的小票