`
liujiawinds
  • 浏览: 137690 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

一句话解释一种设计模式

 
阅读更多

 

      • Factory Method:
        提供一个工厂类,该类可以大批量地重复生产相对固定的几种产品。
      • Abstract Factory:
        提供一个工厂类接口,并以此接口实现不同的工厂类。
      • Builder:
        提供一个Builder类,让它负责生产各种零件,并组装成一个完成的产品。
      • Prototype:
        预先创建好几个不同的对象,每当需要时就克隆一个过来。
      • Singleton:
        在一个系统中创建并只允许创建唯一一个全局对象。

      • Adapter:
        将一个类的接口转换成另外一个更恰当的接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
      • Bridge:
        将抽象部分与它的实现部分分离到两个类层次中,使他们都可以独立地变化。
      • Composite:
        将对象组合成层次结构,并使得对单个对象和组合对象的使用具有一致性。
      • Decorator:
        动态地给一个对象添加一些额外的职责。
      • Facade:
        为一个复杂的子系统提供一个简单的使用接口,尽管它没有包含全部功能,但这在大多数情况下已经够用了。
      • Flyweight:
        运用共享技术有效地支持大量细粒度的对象。
      • Proxy:
        为其它对象提供一种代理以控制对这个对象的访问,二者的接口通常一致。

      • Interpreter:
        与其为每一种情况构造一个特定的算法,不如使用一种通用的解释算法来解释执行一个自定义文法的表达式。
      • Template Method:
        在一个非虚函数中定义算法的骨架,而通过一系列虚函数来定义算法骨架中的不同步骤。
      • Chain of Responsibility:
        将请求接收者连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
      • Command:
        把一个请求封装成一个对象来传递,而不关心接受者的信息。
      • Iterator:
        提供一种方法顺序访问一个聚合对象中的各个元素。
      • Mediator:
        用一个中介对象来封装一系列的对象交互,从而降低它们之间的耦合。
      • Memento:
        在对象之外保存该对象的状态,以便以后能方便地恢复它的状态。
      • Observer:
        当被观察者的状态发生改变时,所有观察者都得到通知并自动更新。
      • State:
        当对象内部状态改变时,通过切换到不同的类来改变对象的行为。
      • Strategy:
        定义一系列算法,把它们一个个封装起来,并使它们可以互相替换。
      • Vistor:
        表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。            
      •  转自:

http://blog.sina.com.cn/s/blog_49370c500100ov3e.html

分享到:
评论

相关推荐

    设计模式自己总结一句话描述

    设计模式分为三大类: 创建型模式,共五种: 工厂方法模式、抽象工厂模式、单例模式、构建者模式、原型模式。 结构型模式,共七种: 适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。...

    24种设计模式介绍与6大设计原则

    所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。 2、里氏代换原则(Liskov Substitution Principle) 里氏代换原则...

    C#23种设计模式_示例源代码及PDF

    解释器模式: 给定一个语言后,解释器模式可以定义出其文法的一种表示,并同时提供一 解释器模式 个解释器。 客户端可以使用这个解释器来解释这个语言中的句子。 解释器模式将描述怎样 在 有了一个简单的文法后, ...

    设计模式 让你轻松理解设计模式,提高开发效率

    通过上述23种设计模式的学习,我们可以看到它们分别解决了软件开发中的不同问题。从创建型模式(如工厂模式、建造者模式)到结构型模式(如适配器模式、组合模式),再到行为型模式(如观察者模式、策略模式),每种...

    GoF 23种设计模式解析附C++实现源码(2nd Edition

    ### GoF 23种设计模式解析及C++实现概览 #### 0. 引言 设计模式作为面向对象编程的重要组成部分,在软件工程领域占据了举足轻重的地位。本书《GoF 23种设计模式解析附C++实现源码(2nd Edition)》深入探讨了GoF所...

    Java的23种设计模式

    ### Java的23种设计模式 #### 一、概述 设计模式是软件工程领域中的一套被广泛接受的解决方案,这些方案针对软件设计中的常见问题提供了标准答案。Java社区对设计模式的应用尤为重视,将其视为程序员必备的核心...

    漫谈设计模式-从面向对象开始

    由于提供的文件内容中重复包含了“更多资源请访问稀酷客(***)”这一句话,这可能是由于OCR扫描过程中的重复输出。为了维持文章的连贯性和专业性,我们忽略了这一重复信息。实际上,根据给出的标题、描述和部分内容,...

    java设计模式解释

    以下是对标题和描述中提到的几种设计模式的详细解释: 1. **工厂模式**:工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,一个创建对象的工厂类负责创建对象,而不是客户端代码直接...

    java二十三种设计模式

    下面是对每种设计模式的详细解释: 创建型模式 1. 工厂模式(Factory):提供一个创建对象的接口,延迟到子类中去实例化对象。例如,麦当劳和肯德基都是生产鸡翅的 Factory。 2. 建造模式(Builder):将产品的...

    趣味JAVA23种设计模式

    ### 趣味JAVA23种设计模式精解 #### 工厂模式(Factory) 工厂模式是一种常用的软件设计模式,其核心在于分离客户类和工厂类。想象一下,当你带女朋友去快餐店,无论是麦当劳还是肯德基,只需要简单地说一句“来四...

    23种设计模式

    在给定的描述中,提到了23种设计模式,这里我们将深入探讨其中的五种:工厂模式、建造者模式、工厂方法模式、原型模式和单例模式。 1. **工厂模式**:工厂模式是一种简单的创建型模式,它定义了一个创建对象的接口...

    设计模式Demo

    针对23种设计模式,分别写了demo并画了类图帮助理解。 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰...

    设计模式之追MM---浅显易懂

    工厂模式是一种创建型设计模式,其目的是为了将客户端与具体的产品类解耦。在这种模式下,客户端无需了解产品的具体创建细节,只需要知道如何向工厂请求所需的产品即可。这种模式的主要优点在于它允许在不修改客户端...

    23种JAVA设计模式和15种J2EE设计模式.docx

    1.2.1. Adapter—适配器模式:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。例如,在朋友聚会上碰到了一个美女Sarah,我不会说粤语,她不会说...

    设计模式与现实生活,形象,生动

    设计模式是在软件开发过程中对常见问题的一种解决方案的总结,它能够帮助开发者更好地组织代码,提高程序的复用性、灵活性和扩展性。本文将结合生活中的例子来形象地阐述几种常见的设计模式。 #### 创建型模式 **1...

    j2se一句话学习笔记

    41. **学习方法**:学习编程时要注重实践,理解面向对象的思维,使用设计模式解决问题,注重代码的可扩展性、可维护性。 以上就是对标题和描述中提到的Java SE相关知识点的详细解析,这些知识点涵盖了Java桌面应用...

    追MM与Java的23种设计模式

    【追MM与Java的23种设计模式】这篇文章将编程中的设计模式与追求女性的场景相结合,用生动的例子解释了23种设计模式的核心概念。以下是各设计模式的详细解析: 1. **工厂模式(Factory)**:就像在麦当劳和肯德基...

    java 设计模式 java pattern

    在示例中,建造者模式被比喻为一种翻译机,按下不同的按钮就能产生不同语言的“我爱你”这句话,用户无需了解翻译机内部如何转换语言。 这些设计模式的运用可以带来以下好处: 1. 面向接口编程:模式鼓励使用接口而...

Global site tag (gtag.js) - Google Analytics