4.1 设计模式分类

本专栏会介绍多种设计模式,为了大家方便理解和对比,首先介绍一下设计模式的分类,后面的章节会根据分类一一介绍设计模式。

根据设计模式设计模式共分为三类:创建型、结构型、行为型和复合模式。

创建型

创建型是控制对象的实例化,将实例化对象的功能收敛,避免用户直接通过new进行创建对象。

创建型包含的设计模式如下:

  • 单例模式:通过提供一个全局访问获取该实例的接口,实现类有且仅能拥有一个实例
  • 简单工厂模式:通过提供一个包含静态方法的工厂类,对外提供创建实例的接口
  • 工厂方法模式:父类工厂类负责定义实例化对象的接口,由子类负责实例化具体对象。(与简单工程模式区别是:简单工程只有一个工厂类,所有的创建都有该工厂类完成)
  • 抽象工厂模式:提供一个创建产品族的接口,其每个子类可以生产一系列相关的产品
  • 原型模式:通过复制已有实例而产生新的实例
  • 建造者模式:将复杂对象拆分成多个相对较为简单的部分,根据需要分别创建

结构性

结构型处理类或者对象之间的组合,主要包含以下几种设计模式:

  • 代理模式:通过代理方式访问被访问对象
  • 桥梁模式:抽象与实现进行分离,可以独立变化,降低抽象和实现的耦合
  • 组合模式:“整体-部分"的关系
  • 适配器模式:将一个类的接口转成另一个类的接口提供服务
  • 装饰模式:动态给对象新增一些功能、职责
  • 外观模式:定义高层接口,以提供对内部多个子接口的使用
  • 享元模式:共享来支持对象的复用

行为型

行为型是描述类或对象怎样进行交互和职责分配

  • 策略模式:定义一系列算法,并将这些算法进行封装。由调用方决定使用哪一个策略
  • 模板方法模式:在父类定义某流程的各个步骤,然后在子类实现具体步骤操作内容
  • 观察者模式:当某对象被其他多个对象依赖时,当对象改变后把通知发到其他对象,从而改变其他对象行为
  • 责任链模式:将处理请求的对象组成一个类似链式的结构,请求从链中的一个对象传递到下一个对象,直到请求被处理
  • 命令模式:将请求封装成对象,将行为调用者与实现者进行解耦
  • 解释器模式:提供如何定义语言的文法,以及对语言句子的解释方法
  • 迭代器模式:提供一种顺序访问聚合对象中的各元素的方法,而无需暴露该对象的内部表示
  • 中介者模式:用中介对象来封装一系列的对象交互。中介者降低了调用方和被调方的耦合,而且可以独立地改变它们之间的交互
  • 备忘录模式:记录保存对象的某些状态,以便后续需要恢复
  • 访问者模式:在不改变集合元素的前提下,为集合中的每个元素提供多种访问方式
  • 状态模式:允许一个对象在其内部状态发生改变时改变其行为
全部评论

相关推荐

03-29 19:11
门头沟学院 Java
wyp_davis:是可以这样的,不过只要交钱就是假的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务