当我们在生产汽车的时候,就算是一个品牌也会分为不同的型号,每个车的外形可能不一样,但是汽车的零件大部分是可以通用的。如果我们为每个型号的汽车都去建立但是建立一个生产线,每个零件都在那个独立的生产线去生产,这将会造成很大的浪费,会增加很多成本。我们知道现在社会之所以发展得这么快,是因为社会有明确的分工。所以在上述生产车辆的例子中,我们可以将通用的零件放在同一生产线生产,这样可以大大的降低成本。所谓的工厂模式也是基于此来的!
设计模式中的工厂模式分为简单工厂模式、工厂方法模式、抽象工厂模式。下面我们来分别介绍它们!
简单工厂模式:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。结构如下图所示:
由上图可以看到,在简单工厂模式中,主要有工厂角色(工厂类)、抽象产品角色、具体产品角色,其中工厂类是核心,负责实现创建所有产品的实例的内部逻辑,可以直接被外接调用,创建所需的产品对象;抽象产品角