博客专栏  >  综合   >  设计模式

设计模式

"设计模式"的目的是让读者不仅学习怎样在软件设计中使用好设计模式,更重要的是让读者通过学习使用设计模式深刻地理解面向对象的设计思想,以便更好地使用面向对象语言解决设计中的诸多问题。

关注
17 已关注
25篇博文
  • 中介者模式

    概念中介者模式:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互结构组成和类图类图: 中介者模式主要由:Mediator...

    2017-01-20 21:16
    873
  • 访问者模式

    概念访问者模式:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。 访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要...

    2017-01-19 22:35
    1121
  • 状态模式

    概述状态模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。允许一个对象在其内部状态改变时改变它的行为。结构与组成先看一下类图: 状态模...

    2017-01-15 22:32
    1259
  • 备忘录模式

    概念备忘录模式:又叫做快照模式,属于行为模式的一种,指在不破坏封装性的前提下,获取到一个对象的内部状态,并在对象之外记录或保存这个状态。在有需要的时候可将该对象恢复到原先保存的状态。我们相当于把对象原...

    2016-12-24 12:51
    1774
  • android开发中使用到的一些设计者模式

    单例模式 概念:确保一个类只有一个实例,并且自行实例化并向整个系统提供整个实例。public class Singleton { private static volatile Sin...

    2016-12-24 11:19
    2336
  • 责任链模式

    概述概念:责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链...

    2016-12-17 21:38
    1645
  • 迭代子模式

    概述概念:在阎宏博士的《JAVA与模式》中关于迭代子模式的定义是这样的:迭代子模式又叫游标(Cursor)模式,是对象的行为模式。迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象(in...

    2016-12-15 21:52
    872
  • 模板方法模式

    概述概念:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。模板方法模式属于行为类模式。模板方法的组成类图: 如图所示,模板方法模...

    2016-12-13 22:13
    1067
  • 桥接模式

    概述当一个抽象对象可能有多个 实现时,通常用继承来协调他们。抽象类定义对该抽象的接口,而具体的子类则用不同的方式来实现。但是此方法有时候不太灵活。继承机制将抽象部分与它的实现部分固定在一起,是的难以对...

    2016-12-03 23:20
    944
  • 享元模式

    享元模式如果在一个系统中存在多个相同的对象,那么只需共享一份对象的拷贝,而不必为每一次使用都创建新的对象。这里可以看出,享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。概述享...

    2016-11-21 16:50
    1260
  • 装饰者模式

    装饰器模式动态地给一个对象添加一些额外的职责,装饰器模式就是基于对象组合的方式,可以很灵活的给对象添加所需要的功能。装饰器模式的本质就是动态组合。装饰器模式意图和结构装饰者模式提供了一种给类增加功能的...

    2016-11-12 23:35
    1441
  • 外观模式

    外观模式为子系统中的一组接口提供一个统一接口。Facade模式定义了一个高层接口,这个接口使得这子系统更容易使用。概述实际应用中,我们在对付一些老旧的code(尤其是将C的代码转成C++代码)或者即便...

    2016-11-04 23:22
    1567
  • 原型模式

    概念: 是一种创建型设计模式,它通过复制一个已经存在的实例来返回新的实例,而不是新建实例。被复制的实例就是我们所称的原型。原型模式的拷贝:分为"浅拷贝"和"深拷贝"。(这个和我们理解的拷贝是一样的)浅...

    2016-10-30 22:03
    966
  • 解释器模式

    解释器模式:解释器模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。组成模式所涉及到4个角色:抽象表达式...

    2016-10-23 19:39
    1192
  • 策略模式

    策略(Strategy)模式策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化...

    2016-10-23 10:39
    1085
  • 建造者模式

    概念: 将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 [构建与表示分离,同构建不同表示]与工厂模式的区别:在建造者模式里,有个指导者,由指导者来管理建造者,用户是与指导者联系...

    2016-10-12 15:24
    1357
  • 命令模式

    命令模式定义将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。作用命令模式主要应用于将行为调用者与实现者解耦。讲发出请求和执行对象分开来...

    2016-09-07 22:21
    1171
  • 迭代器模式

    迭代器模式(Iterator): 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。用途:在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望在不暴露其内部...

    2016-09-03 10:54
    857
  • 单例模式

    单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。 这样的模式有几个好处: 1、某些类创建比较频繁,对于一些大型的对象...

    2016-08-28 13:56
    1420
  • 组合模式

    组合模式 组合模式(Composite Pattern)有时候又叫做部分-整体模式,允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。 根据《...

    2016-08-24 21:58
    1585

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部