博客专栏  >  编程语言   >  学习java设计模式

学习java设计模式

主要是通过《设计模式之禅》总结自己的学习笔记。我对java设计模式的理解以及概念、例子、应用都是基于对这本书的学习。希望通过自己的比较总结对初学者有所帮助,并期待与大家一起进步!

关注
2 已关注
28篇博文
  • 设计模式(二十三)---桥梁模式

    定义:将抽象和实现解耦,使得两者之间可以独立的变化。  Abstract抽象化角色   ---|主要职责是定义出该角色的行为,同时保存一个对实现化角色的引用。该角色一般是抽象类   Im...

    2015-12-23 11:54
    441
  • 设计模式(二十二)---享元模式

    定义:使用共享对象可有效的支持大量的细粒度的对象。   享元模式的定义为我们提出了两个要求:细粒度的对象和共享对象。   我们知道分配太多的对象到应用程序中将有损程序的性能,同时还容易造成内存溢出...

    2015-12-23 10:13
    505
  • 设计模式(二十)---状态模式

    定义:当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。 一般模式   state:抽象状态角色   ---|接口或抽象类,负责对象状态定义,并且封装环境角色以实现状态...

    2015-12-22 10:36
    363
  • 设计模式(十八)---访问者模式

    定义:封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。 一般模式       Visitor----抽象访问者   --|抽象...

    2015-12-21 16:48
    366
  • 设计模式(十八)---备忘录模式

    定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将   该对象恢复到原先保存的状态。 一般模式:     Originator发起人角色...

    2015-12-21 10:52
    507
  • 设计模式(十七)---门面模式

    定义:(Facada Pattern)要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行,   门面模式提供一个高层次的接口,使得子系统更易于使用。 一般模式:     F...

    2015-12-20 14:42
    363
  • 设计模式(十六)---观察者模式

    定义:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。 一般弄模式     Subject被观察者    ---|定义被观察者必须实现的职责...

    2015-12-20 11:29
    340
  • 设计模式(十五)---组合模式

    定义:将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。 一般模式:     Component抽象构件角色    --|定义参与组合对象...

    2015-12-18 11:04
    335
  • 设计模式(十四)---迭代器模式

    定义:它提供一个方法访问一个容器对象中的各个元素,而又不需要暴露该对象的内部细节。   这个在javaAPI中已经封装的很好了,任何一个容器的遍历都可以使用Iterator来迭代。   一...

    2015-12-17 10:49
    271
  • 设计模式(十三)---适配器模式

    定义:将一个类的接口变换成客户端所期待的的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 适配器一般模式:  Target角色:    该角色定义把其他类转换...

    2015-12-17 10:10
    305
  • 设计模式(十二)---策略模式

    定义:定义一组算法,将每个算法都封装其阿里,并且使它们之间可以互换。   策略模式的一般模式:   Context封装角色   ---|它也叫作上下文对象,起承上启下封装作用,屏蔽高...

    2015-12-16 11:04
    304
  • 设计模式(10)---责任链模式

    定义: 使多个对象都有机会处理请求,从而避免了发送者和接收者之间的耦合关系。   将这些对象连成一条链,并沿着这条连传递该请求,直到有对象处理该请求为止。     一个例子:   古代女子讲...

    2015-12-15 15:09
    220
  • 设计模式(十一)---装饰模式

    英文名称:(Decorator Pattern)   定义:动态的给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更加灵活。 装饰模式的一般模式     Compo...

    2015-12-16 09:34
    269
  • 设计模式(九)---命令模式

    定义:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,   可以提供命令的撤销和恢复功能。 命令模式的通用模式:  该类图中   Rec...

    2015-12-15 09:57
    239
  • 设计模式(八)---中介者模式

    定义:用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互交互,从而使其耦合松散,而且可以独立地改变他们之间的交互。   中介者就是将蜘蛛网状的用户关系模型改变成星形的用户关系模型...

    2015-12-14 17:57
    298
  • 设计模式(七)---原型模式

    英文名称:Prototype Pattern 定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。       原型模式的核心就是一个clone方法,通过该方法进行对象的拷贝,j...

    2015-12-14 17:49
    221
  • 设计模式(六)---代理模式

    英文名称:Proxy Pattern   定义:为其他对象提供一种代理以控制对这个对象的访问。   我的理解:代理模式相当于现实生活中的明星经纪人,提供了一个很好的访问控制。   代理模式的分类...

    2015-12-13 12:01
    279
  • 设计模式(五)---建造者模式

    英文名称: Builder Pattern又叫做生成器模式   定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者的一般模式   Product产品...

    2015-12-12 18:39
    277
  • 设计模式(四)---模板方法模式

    英文名称:Template Method Pattern。   定义:定义一个操作中的算法的框架,而将一些步骤延迟到子类中,是的子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。   我...

    2015-07-03 20:42
    826
  • 设计模式(三)---抽象工厂模式

    定义:为创建一组相关或相互依赖的对象提供一个接口,而且无须指定他们的具体类。   我的理解:抽象工厂模式是工厂模式的升级,它针对多个业务品种,业务分类时通过抽象工厂模式来解决。   就好比工厂...

    2015-07-01 22:12
    554

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