java设计模式——工厂模式

介绍

由一个地方(工厂)来统一创建对象,保证创建对象的统一性,更符合标准化编程的思想

简化调用逻辑

分类

简单工厂

优点

简单,一个类就能直接返回所需要的所有的,根据不同参数就可以创建不同对象

缺点

违背开闭原则,不利于创建复杂的对象,不利于扩展

工厂方法

只定义一个创建对象的 接口 ,将具体的创建过程移交给具体的实现类

优点

符合开闭原则,提高了系统的扩展性

缺点

类的个数容易过多,多了之后对调用者会容易造成混淆

抽象工厂

是工厂方法的升级,比工厂方法的复杂度更大,但是支持的功能也更强大

创建一系列相关或相互依赖的对象接口,而无需指定他们具体的类

客户端(应用层)不依赖于产品类实例如何被创建、实现等细节,强调的是一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量重复的代码

缺点

不符合开闭原则,不利于扩展,不利于维护,增加了系统抽象性和理解难度

优点

遵循单一职责原则

应用场景举例

  • spring中的 BeanFactory、Log4j、Calendar

你可能感兴趣的:(java,设计模式,创建型)