博客专栏  >  架构设计   >  小话设计模式

小话设计模式

介绍各种设计模式,并提供示例代码,分析优缺点以及适用情况。

关注
2 已关注
27篇博文
  • 小话设计模式(番外三)有限状态机模式

    有限状态机(Finite State Machine)定义了一系列状态,对象可以在这些状态之间有条件的转换,并且定义了一个状态机,这个负责管理所有的状态和状态之间的转换条件。一般使用事件来作为转换条件...

    2016-10-31 08:53
    306
  • 小话设计模式(番外二)委托模式

    委托(Delegate)模式定义了对象之间的一对一的关系,被委托方可以作为委托方的事件接收者或者数据源(Data Source),当它作为事件接受者的时候,可以认为它是一种特殊的观察者(参考小话设计模...

    2016-10-10 19:45
    670
  • 小话设计模式(番外一)插件模式

    插件(Plugin)模式向用户提供了一种扩展程序的接口,用户可以在程序本体之外,按照指定接口编写插件来为程序增加功能。 可能实际开发中不太会运用到插件模式,但是它确实我们经常会使用到的一种模式。例如...

    2016-10-06 13:38
    1168
  • 小话设计模式(二十三)访问者模式

    访问者(Visitor)模式表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 访问者的适用情况: 1、 一个对象结构包含很多类对象,它们有不同...

    2016-10-05 23:27
    215
  • 小话设计模式(二十二)模板方法模式

    模板方法(Template Method)模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类当中去。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定的步骤。 模板方法适用于以下情况: ...

    2016-10-05 23:16
    445
  • 小话设计模式(二十一)策略模式

    策略(Strategy)模式,又称政策(Policy)模式。它定义了一系列算法,将它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它的用户而变化。 策略模式适用于以下情况: 1、许...

    2016-10-05 10:43
    730
  • 小话设计模式(二十)状态模式

    状态(State)模式,又名状态对象(Objects for States)模式,它允许一个对象在内部状态改变时改变它的行为。对象看起来似乎改变了它的类。 状态模式的应用场景: 1、一个对象的行为取...

    2016-10-05 08:36
    673
  • 小话设计模式(十九)解释器模式

    解释器(Interpreter)给定一个语言,定义它的文法的一种表示,并且定义一个解释器,这个解释器使用该表示来解释语言中的句子。 很多脚本语言例如Lua、Ruby、Python都是解释器的一种应用...

    2016-10-04 19:39
    882
  • 小话设计模式(十八)备忘录模式

    备忘录(Memento)模式,又称为令牌(Token)模式,它可以在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将对象恢复至原来的状态。 一般在以下情况下...

    2016-10-04 09:40
    1626
  • 小话设计模式(十七)观察者模式

    观察者(Observer)模式,又称依赖(Dependents)模式,发布-订阅(Publish-Subscribe)模式,或者监听者(Listener)模式。它定义了对象间的一种一对多的依赖关系,当...

    2016-10-03 18:17
    955
  • 小话设计模式(十六)中介者模式

    中介者(Mediator)模式用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地互相引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 以下情况适合使用中介者模式: 1、一组对象...

    2016-10-03 13:20
    883
  • 小话设计模式(十五)迭代器模式

    迭代器(Iterator)模式,又称游标(Cursor)模式,它提供了一种方法,可以顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。 虽然C#已经在内部实现了迭代器模式,我们可以使用f...

    2016-10-03 10:03
    874
  • 小话设计模式(十四)命令模式

    命令(Command)模式,又称为动作(Action)或者事务(Transaction)模式,它将一个请求封装为一个对象,从而使你可用不同的请求对客户端进行参数化,然后对请求排入序列,或者记录请求日志...

    2016-10-02 22:41
    940
  • 小话设计模式(十三)职责链模式

    职责链(Chain of Responsibility)职责链模式是一种行为模式,当多个对象都有机会处理请求的时候,为了避免请求的发送者和接收者之间的耦合关系,我们使用职责链模式将这些对象连成一条链,...

    2016-10-02 20:53
    762
  • 小话设计模式(十二)代理模式

    代理(Proxy)模式是创建一个类型为其他对象提供一种代理以控制对这个对象的访问。 代理模式有以下几种常见的应用: 1、远程代理(Remote Proxy)为一个其他的地址空间里的对象提供一个本地代...

    2016-10-01 17:55
    1119
  • 小话设计模式(十一)享元模式

    享元模式运用共享技术有效的支持大量细颗粒的对象。 一般使用享元模式的时候要满足下列所有情况: 1、 一个应用程序使用了大量的对象。 2、 完全由于使用大量的对象,造成了很大的存储开销。 3、 对象的...

    2016-10-01 17:24
    460
  • 小话设计模式(十)外观模式

    外观(Fascade)模式定义一个高级的接口,将子系统里的一组接口整合起来,提供了一个统一的外观。 在以下情况下可以考虑使用外观模式: (1)设计初期阶段,应该有意识的将不同层分离,层与层之间建立外...

    2016-09-30 13:33
    1346
  • 小话设计模式(九)组合模式

    组合(Composite)模式将对象组合成树形结构以表示“部分-整体”的层次结构。这样使得用户对单个对象和组合对象的使用具有一致性。 组合模式,听名字你可能比较陌生,但是你很可能是这种模式的用户,它...

    2016-09-29 21:48
    1485
  • 小话设计模式(八)装饰模式

    装饰(Decorator)模式是动态地给一个对象添加一些额外的责任。就增加功能来讲,Decorator模式相比生成子类更加灵活。

    2016-09-27 13:27
    352
  • 小话设计模式(七)桥接模式

    桥接(Bridge)模式,又名Handle/Body(未找到权威的中文翻译)模式,它将一个类的抽象部分与它的实现部分分离,使它们都可以独立的变化。

    2016-09-26 14:19
    382
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部