专栏首页Java后端技术栈cwnaitGOF23种设计模式类型、描述和类图(上)

GOF23种设计模式类型、描述和类图(上)

单例模式

类型:创造

描述:Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

英文描述:

Ensure a class has only one instance,and provide a global point of access to it.

类图

工厂方法模式

类型:创造

描述: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法是一个类的实例化延迟到子类。

英文描述:

Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory Method lets a class defer instantiation to subclasses.

类图

抽象工厂模式

类型:创造

描述: 为创建一组相关或者相互依赖的对象提供一个接口,而且无需指定他们的具体类。

英文描述:

Provide an interface for creating families of related or dependent objects without specifying their concrete classes.

类图

建造者模式

类型:创造

描述: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

英文描述:

Separate the construction of a complex object from its representation so that the same construction process can create different

类图

原型模式

类型:创造

描述: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

英文描述:

Specify the kind of objects to create using a prototypical instance,and create new objects by copying this prototype.

类图

迭代器模式

类型:创造

描述: 提供一种方法访问一个容器对象中各个元素,而不暴露该对象的内部细节。

英文描述:

Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.

类图

命令模式

类型:行为

描述: 一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。

英文描述:

Encapsulate a request as an object,thereby letting you parameterize clients with different requests,queue or log requests,and support undoable operations.

类图

解释器模式

类型:行为

描述: 提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。

英文描述:

Given a language,define a representation for its grammer along with an interpreter that uses the representation to interpret that uses the representation to interpret sentences in the language.

类图

来都来了 点个赞再走吧~~~

本文分享自微信公众号 - Java后端技术栈(t-j20120622),作者:田老师

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-01-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 学完这100多技术,能当架构师么?(非广告)

    本篇内容涵盖14个方面,涉及上百个框架和工具。会有你喜欢的,大概也会有你所讨厌的家伙。这是我平常工作中打交道最多的工具,大小公司都适用。如果你有更好的,欢迎留言...

    用户4143945
  • GOF23种设计模式类型、描述和类图(中)

    描述: 使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理为止。

    用户4143945
  • GOF23种设计模式类型、描述和类图(下)

    描述: 将一个类的接口变换成客户端锁期待的另一种接口,从而是原本因接口欧不匹配而无法再一起工作的两个类能够在一起工作 。

    用户4143945
  • 如何将SAP Cloud for Customer的扩展字段放置到Embedded Component中

    Create extension field , put it to a given embedded component and finally make i...

    Jerry Wang
  • Flink Forward 2019--实战相关4--流媒体公司COMCAST详解生产问题解决方案

    Adventures in Scaling from Zero to 5 Billion Data Points per Day -- Dave Torok(C...

    阿泽
  • 设计模式概念总结

       定义一个用于创建对象的接口,让子类决定实例化哪个类,工厂方法使一个类的实例化延迟其子类

    莫问今朝
  • 快速学习-Saturn(英文版入门指引)

    Saturn is a platform created by VIP.com(唯品会) to provide a distributed, fault tol...

    cwl_java
  • [计算机视觉论文速递] ECCV 2018 专场9

    Amusi 将日常整理的论文都会同步发布到 daily-paper-computer-vision 上。名字有点露骨,还请见谅。喜欢的童鞋,欢迎star、for...

    Amusi
  • 强化学习Universal Planning Networks

    用户1908973
  • 悉尼科大徐亦达教授:1000+页机器学习讲义,32 份主题推介

    悉尼科大徐亦达教授近日在GitHub更新了他2019年以来的机器学习新材料,超过1000页的讲义,总共涵盖 32 个主题。

    新智元

扫码关注云+社区

领取腾讯云代金券