博客专栏  >  编程语言   >  面向对象设计模式

面向对象设计模式

以Java语言为核心的OO设计模式学习介绍。

关注
26 已关注
26篇博文
  • 设计模式(行为型)之访问者模式(Visitor Pattern)

    访问者模式是一种较为复杂的行为型设计模式,它包含访问者和被访问元素两个主要组成部分,这些被访问的元素通常具有不同的类型,且不同的访问者可以对它们进行不同的访问操作。访问者模式使得用户可以在不修改现有系...

    2015-05-06 17:11
    2140
  • 设计模式(行为型)之解释器模式(Interpreter Pattern)

    访问者模式是一种较为复杂的行为型设计模式,它包含访问者和被访问元素两个主要组成部分,这些被访问的元素通常具有不同的类型,且不同的访问者可以对它们进行不同的访问操作。访问者模式使得用户可以在不修改现有系...

    2015-05-06 17:11
    2281
  • 设计模式(行为型)之备忘录模式(Memento Pattern)

    备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,当前很多软件都提供了撤销(Undo)操作,其中就...

    2015-05-06 15:28
    1775
  • 设计模式(行为型)之中介者模式(Mediator Pattern)

    如果对象之间的联系呈现为网状结构,存在大量的多对多联系,在网状结构中,几乎每个对象都需要与其他对象发生相互作用,而这种相互作用表现为一个对象与另外一个对象的直接耦合,这将导致一个过度耦合的系统。如果在...

    2015-05-06 14:46
    2453
  • 设计模式(行为型)之职责链模式(Chain of Responsibility Pattern)

    职责链可以是一条直线、一个环或者一个树形结构,最常见的职责链是直线型,即沿着一条单向的链来传递请求。链上的每一个对象都是请求处理者,职责链模式可以将请求的处理者组织成一条链,并让请求沿着链传递,由链上...

    2015-05-06 10:42
    1852
  • 设计模式(行为型)之状态模式(State Pattern)

    状态模式用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。当系统中某个对象存在多个状态,这些状态之间可以进行转换,而且对象在不同状态下行为不相同时可以使用状态模式。状态模式将一个对象的状态...

    2015-05-05 15:32
    2661
  • 设计模式(行为型)之模板方法模式(Template Method Pattern)

    模板方法模式是一种基于继承的代码复用,它是一种类行为型模式;是结构最简单的行为型设计模式,在其结构中只存在父类与子类之间的继承关系。通过使用模板方法模式,可以将一些复杂流程的实现步骤封装在一系列基本方...

    2015-05-05 14:36
    2224
  • 设计模式(行为型)之命令模式(Command Pattern)

    在软件开发中,我们经常需要向某些对象发送请求(调用其中的某个或某些方法),但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,此时,我们特别希望能够以一种松耦合的方式来设计软件,使得请求发送者与...

    2015-05-05 11:49
    2144
  • 设计模式(行为型)之策略模式(Strategy Pattern)

    使用策略模式可以定义一些独立的类来封装不同的算法,每一个类封装一种具体的算法,在这里,每一个封装算法的类我们都可以称之为一种策略(Strategy),为了保证这些策略在使用时具有一致性,一般会提供一个...

    2015-05-05 10:10
    2596
  • 设计模式(行为型)之迭代器模式(Iterator Pattern)

    在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素;同时这种“透明遍历”也为“ 同一种算法在多种集合对象上...

    2015-05-05 09:25
    2119
  • 设计模式(行为型)之观察者模式(Observer Pattern)

    观察者模式用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应。在观察者模式中,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应...

    2015-05-04 20:46
    3223
  • 设计模式(结构型)之代理模式(Proxy Pattern)

    代理模式是常用的结构型设计模式之一,当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口。根据代理模式...

    2015-05-04 18:48
    3292
  • 设计模式(结构型)之享元模式(Flyweight Pattern)

    当一个软件系统在运行时产生的对象数量太多,将导致运行代价过高,带来系统性能下降等问题。所以需要采用一个共享来避免大量拥有相同内容对象的开销。在Java中,String类型就是使用了享元模式。Strin...

    2015-05-04 14:15
    2146
  • 设计模式(结构型)之外观模式(Facade Pattern)

    一个客户类需要和多个业务类交互,而这些业务类经常会作为整体出现,由于涉及到的类比较多,导致使用时代码较为复杂。外观模式通过引入一个新的外观类(Facade)来实现该功能,外观类为多个业务类的调用提供统...

    2015-05-04 09:29
    1946
  • 设计模式(结构型)之装饰者模式(Decorator Pattern)

    装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。装饰模式是一种用于替代继承的技术,它通过一种无须定义子类的方式来给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系。在装...

    2015-04-30 17:06
    2576
  • 设计模式(结构型)之组合模式(Composite Pattern)

    组合模式又叫做部分-整体模式,使我们在树型结构的问题中模糊简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂的元素,从而使得客户程序与复杂元素的内部结构解耦。组合模式可以优化处理递归或...

    2015-04-30 15:14
    2103
  • 设计模式(结构型)之桥接模式(Bridge Pattern)

    桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在多个独立变化的维度,通过该模式可以将这多个维度分离出来,使他们可以独立扩展,让系统更加符合“单一职责原则”。与多层继承方案不同,它将多个独...

    2015-04-29 21:15
    2199
  • 设计模式(创建型)之原型模式(Prototype Pattern)

    要理解原型原型模式必须先理解Java里的浅复制和深复制。有的地方,复制也叫做克隆。Java提供这两种克隆方式。 因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一...

    2015-04-29 11:28
    2147
  • 设计模式(结构型)之适配器模式(Adapter Pattern)

    将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作...

    2015-04-29 10:05
    2568
  • 设计模式(创建型)之建造者模式(Builder Pattern)

    建造者模式将客户端与包含多个组成部分的复杂对象的创建过程分离,客户端压根不用知道复杂对象的内部组成部分与装配方式,只需要知道所需建造者的类型即可。它关注如何一步一步创建一个的复杂对象,不同的具体建造者...

    2015-04-28 16:38
    3067

Windows C/C++/C# 编程
1306375247
FFmpeg
1353637718
经典算法研究
323271260
微软面试100题系列
183180379
Java开发进阶
663047477
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部