设计模式之简单工厂模式
简单工厂模式,顾名思义,就是应用在业务比较简单的情景下
我们用一个例子来引出这个模式
有一个顾客,要去买车,现在有Aodi,BMW两个牌子供他选择
此时顾客买车只需要new一下就ok了
但是我们发现了,此时的new,相当于创建,但是顾客买车仅仅只是告诉4S店,我要哪款车,创建车是4s店的事情,我只需要拿到车就可以了。
此时我们就要引入一个类,当做工厂类,去创建车
并且我们发现,BMW,Aodi虽然都是不同品牌,但是他们做的事情是一样的,都是卖车,卖车上的装饰品等,具有一系列相同的动作,那么我们就可以把它归为一个类Car类,BMW,Aodi类只需要实现Car这个借口就可以了
我们此时只需要在工厂里生产车就可以了,并且工厂是已有的,我们并不需要在顾客提车时去创建一个工厂再来去生产车,故我们应该在工厂的create方法上加上static即可
具体的创建方法如下
此时我们消费者就不用管这个生产的步骤了
一下附上我们这次代码的整体结构图
但是简单工厂模式有个弊端,就按如上代码来说,若我们需要增加一个品牌的销售,如长安,name我们只能去修改工厂类里面的代码了,不符合开闭原则,故简单工厂模式可能只适合于简单的业务逻辑