创建型设计模式对比总结 设计模式(八)
创建型模式是new 的一种替代方式,可以将对象的创建与具体的类型进行分离 目前已经介绍了5种创建型设计模式(如果简单工厂算一种的话,那就是6种) 分别是: 简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式 简单工厂模式 静态工厂方法是一种最简单的创建的替代方法 基本上不涉及复杂的处理过程,可能执行的仅仅是包装、转换等 比如,一个静态方法,根据参数进行if else判断,或者switch选择进而确定需要创建的对象类型 比如,Long内部的valueOf 接受不同类型的参数,进而转换为Long类型对象 他可以是一个方法,也可以有多个静态方法 尽管通常简单工厂模式将只会创建一种类型的产品对象 但是,你也可以N个静态方法,创建N多种不同类型的对象 不过一般不这么用,不够清晰,没有条理杂乱,完全不符合单一职责原则 所以对于简单工厂模式,我们一般说简单工厂模式只能创建一种类型的产品 简单工厂模式它的核心就是: 一个类 静态方法 来解决对象的创建问题 一个类吃遍天下 工厂方法模式 简单工厂模式一个类吃遍天下,职责过多,就会有各种原因可能要修改这个类,好比你是两个班级的班主任,不管哪个班级的学生有事情都要找你。 既不符合单一职责原则,也不符合开闭原则 所以为了解决这个问题,进化出来工厂方法模式 工厂方法模式不再是一个类吃遍天下