工厂模式【实现了创建者与调用者的分离】,其分为三种:
一:简单工厂模式
一个工厂,可以生产很多个产品
优点:实现简单
缺点:当增加一个产品的时候,需要修改工厂里的代码(不符合开闭原则)
二:工厂方法模式
一个产品对应一个工厂
优点:当增加一个产品的时候,不需要修改其他工厂的代码(符合开闭原则)
缺点:每一个产品都要一个工厂,代码量太大
三:抽象工厂模式
产品族:一整套产品(如:衣服、裤子、鞋子)
抽象工厂规定了产品族的涵盖范围,抽象工厂有不同的实现
优点:一个工厂可以创建一堆产品的同时,又能被有效规范
缺点:当增加新产品的时候,依旧需要修改抽象工厂的代码(不符合开闭原则)
四:应用场景