23种设计模式简明教程

知道91 | 站长推荐 | 2014-12-17 | 阅读:6555

学习设计模式的方法有很多。全面深入地学习,可以选择经典设计模式书籍。或者通过简短、清晰的教程快速了解设计模式。本文整理了23个设计模式的简明教程,其中多篇以讲故事的方式来学习设计模式。

创建型模式

一、Singleton,单例模式

案例:模式的秘密—单例模式(视频)

设计模式是前辈们在多年开发工作中经验的总结,可以提高代码的可重用性、可靠性和规范性,让代码更容易理解,而单例模式是其中最重要、最简单、最常用的设计模式之一,让我们一起来揭开它的神秘面纱吧。

讲故事,学(Java)设计模式—单例模式

单例模式是Java中最常用的设计模式之一,它通过阻禁止外部实例化和修改,对象的方式来控制所创建的对象的数量。这个概念可以被广泛地推广到仅使用有一个现存的对象能更高效运行的系统,或者是限制在若干个对象实例化为特定的数目的高效系统环境系统中。

二、Abstract Factory,抽象工厂

讲故事,学(Java)设计模式—抽象工厂模式

抽象工厂模式是在工厂模式的基础上增加的一层抽象概念。如果比较抽象工厂模式和工厂模式,我们不难发现前者只是增加了一层抽象的概念。抽象工厂是一个父类工厂,可以创建其它工厂类。故我们也叫它“工厂的工厂”。

三、Factory,工厂模式

讲故事,学(Java)设计模式—工厂模式

工厂模式是根据不同的参数创建对象。例如用工厂创建人。 如果我们想要一个男孩,工厂就会为我们生产一个男孩;如果我们需要一个女孩,工厂则会为我们生产一个女孩。工厂会根据不同的参数,为我们提供不同的物品。

四、Builder,建造者模式

讲故事,学(Java)设计模式—建造者模式

建造者模式的关键特性是它将一个建造过程分解成很多步骤,也可以说,每个产品的建造会遵循同样的流程,不过流程内的每一个步骤都不尽相同。

五、Prototype,原型模式

讲故事,学(Java)设计模式—原型模式

原型模式被用在频繁调用且极其相似的对象上,它会克隆对象并设置改变后的属性,而且消耗的资源较少。

行为型模式

六、Iterator,迭代器模式

Java Design Pattern: Iterator

七、Observer,观察者模式

讲故事,学(Java)设计模式—观察者模式

简而言之,观察者模式=发布者+注册者。观察者模式用来对GUI中的动作做侦听。Swing GUI的例子就表明了动作侦听是怎样实现观察者模式的。

八、Template Method,模板方法

案例:模式的秘密—模板方法模式(中文视频)

模板方法模式是在日常开发中使用最为广泛的设计模式之一。通过本视频,你可以了解什么是模板方法模式,如何用 Java 语言实现模板方法模式。@Arthur 将用简单生动的例子带你领略模板方法模式的真意,最后还将用实际的行业案例告诉你模板方法模式的强大功能。

九、Command,命令模式

Java Design Pattern: Command

十、State,状态模式

Java Design Pattern: State

十一、Strategy,策略模式

Java Design Pattern: Strategy

十二、Chain of Responsibility,职责链模式

Java Design Pattern: Chain of Responsibility

十三、Mediator,中介者模式

Java Design Pattern: Mediator

十四、Visitor,访问者模式

Java Design Pattern: Visitor

十五、Interpreter,解释器模式

Java Design Pattern: Interpreter

十六、Memento,备忘录模式

Java Design Pattern: Memento

结构型模式

十七、Composite,组合模式

Java Design Pattern: Composite

十八、Facade,外观模式

Java Design Pattern: Facade

十九、Proxy,代理模式

Java Design Pattern Story for Proxy – A Slutty Lady

二十、Adapter,适配器模式

案例:模式的秘密—适配器模式(中文视频)

所谓适配器,就是连接“源”和“目标”的纽带。本课程由生活中常见的例子入手,讲述适配器模式的组成和应用,为你的 Java 达人锻造添砖加瓦

二十一、Decrator,装饰模式

Java Design Pattern: Decorator – Decorate your girlfriend

二十二、Bridge,桥模式

讲故事,学(Java)设计模式—桥接模式

简单来讲,桥接模式是一个两层的抽象。桥接模式是用于“把抽象和实现分开,这样它们就能独立变化”。 桥接模式使用了封装、聚合,可以用继承将不同的功能拆分为不同的类。

二十三、Flyweight,享元模式

Java Design Pattern: Flyweight