工厂模式重点在于理解,代码相对简单
把创建的逻辑封装起来,关心使用不关心逻辑
简单工厂,
传入需要类相关参数,传入class对象,避免写错,提升体验写错会编译报错;传入泛型,避免强转
关注参数,不关注逻辑
适用创建少量产品,不太需要维护,不便维护
简单工厂是产品的工厂
工厂方法
不用传参,每种产品都有实现类,子类负责实现,知道需要使用哪个类
类图:产品会有上层接口,每种产品有工厂类,工厂类也有上层接口
工厂方法是工厂的工厂
抽象工厂
创建一系列相关的接口
复杂度较高,需要足够业务场景;修改会影响一系列的变更
抽象工厂是复杂产品的工厂
相对稳定,升级少可用