平时创建对象的时候是通过 new 类来直接创建对象,而工厂模式是通过使用一个共同的接口根据不同的条件来产生具体想要创建的对象。
每增加一个产品,就会相应增加一个子工厂,加大了额外的开发量,增加的代码量,增加了系统的复杂度,增加了系统对具体类的依赖。
工厂类集中了所有实例的创建逻辑,一旦这个工厂不能正常工作,整个系统都会受到影响。
分类 | 描述 |
---|---|
简单工厂 | 简单工厂模式,严格意义上讲不算设计模式,而是一种编程习惯,根据传递的参数来判断返回一个具体的对象。 |
工厂方法 | 工厂方法模式用于定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体的子类工厂类当中。这个要求满足创建与使用相分离的特点。 |
抽象工厂 | 抽象工厂模式用于为访问类提供一个创建一组相关或互相依赖对象的接口,并且访问类无须指定所要产品的具体类就能够得到同族的不同等级的产品的模式结构。 |
设计模式中工厂设计模式让对象的创建充满的选择,不是单一的直接 new 对象,使创建对象更加灵活。工厂模式分为简单工厂,工厂方法和抽象工厂三种模式。