Java工厂模式
工厂模式用于创建对象,将对象的创建和使用分开,创建对象的时候不再去new,而是使用工厂来创建对象,提高了代码的可维护性,可扩展性和灵活性。
工厂模式分为简单工厂模式、工厂方法模式和抽象工厂模式。
简单工厂模式
创建一个工厂类,根据传入的参数,使用这个工厂来创建对象。
如下有一个简单工厂,通过传入不同的参数来创建动物实例。
优点:简单易实现,适合产品不多、且不变化的场景
缺点:不符合开闭原则,每次新增产品都要修改工厂类。
工厂方法模式
创建一个工厂接口和多个工厂实现类,通过不同的工厂实现类创建不同的产品。
优点:符合开闭原则,增加产品不用修改原来的代码,只需要新增产品类和对应的工厂类即可。
缺点:需要创建多个工厂类。
抽象工厂模式
同样是创建一个工厂接口和多个工厂实现类,但是为了实现一个工厂能创建一系列的多个产品,一个工厂类需要有多个方法来创建产品。如下通过动物工厂来创建红色动物或者蓝色动物,