设计模式全面理解一:创建型

一、设计模式分类

最近于各种场合之中,深感设计模式之重要。这不仅仅对我们自己设计并写出高质量代码大有裨益,同时对我们理解一些框架源码亦有显而易见的好处。

我们常见的设计模式就是1994由Gof(四个软件工程学者的组合)归纳出来的23种设计模式(Design Pattern)。根据目的分可分为三类:Creational、Structural、Behavioral;根据范围,可分为类模式和对象模式。

 二、创建型模式的优点

创建型模式将对象的创建和对象的使用过程分离,降低了系统的耦合度,使得软件系统更易于扩展。

三、常见的几种创建型模式

1. 简单工厂

简单工厂不属于Gof23种设计模式中的一员,但是这并不妨碍它具有很好的入门效果和借鉴意义。

简单工厂主要分为三部分:抽象产品类(接口)、具体产品类、具体产品工厂类;

抽象产品类(接口)中定义了这类产品通用的抽象方法,由具体产品类来实现具体业务逻辑,每增加一个产品需要新增一个具体产品类;

具体产品工厂类中有一个static类型的获取具体产品类的方法,只需要传入实际的参数就能返回一个具体产品类。

缺点:所有产品在一个工厂类里边,每次增加产品都需要修改工厂类,不符合开闭原则

2. 工厂模式

工厂模式组成部分:抽象工厂类、抽象产品类、具体工厂类、具体产品类

应用1:集合类中Collection接口就是这样的抽象工厂类,Iterator是抽象产品类

具体产品类(这里作为具体工厂类ArrayList的内部类):

 具体工厂类就是ArrayList

 应用2:Connection、Statement、Resultset

3. 抽象工厂模式

有产品族的概念,产品族易于增加,只需增加新的产品接口及其实现类就行,不会修改到原来代码;

原先的产品等级结构中新增产品比较麻烦,需要改动已有的接口;

这种现象称为开闭原则的偏向。

四、设计模式六大原则

原文地址:https://www.cnblogs.com/jdbc2nju/p/11561259.html