博客专栏  >  编程语言   >  设计模式相关技术

设计模式相关技术

与Java技术相关的设计模式

关注
16 已关注
26篇博文
  • 设计模式:各个模式间的对比

    建造者模式、抽象工厂模式、工厂模式的区别建造者模式和抽象工厂模式 与抽象工厂模式相比,建造者模式返回一个组装好的完整产品,而抽象工厂模式返回一系列相关的产品,这些产品位于不同的产品登记结构,构成了一...

    2016-04-25 20:25
    4329
  • 设计模式:访问者模式(Vistor)

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

    2016-04-25 20:22
    4372
  • 设计模式:策略模式(Strategy)

    定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。 策略模式的角色: 1. 抽象策略角色(Strategy):策略类,通常由一个接口或者抽象类...

    2016-04-25 20:19
    4437
  • 设计模式:状态模式(State)

    允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 状态模式的角色 1. 环境角色Context):也称上下文,定义客户端所感兴趣的接口,并且保留一个具体状态类的实例。这个具...

    2016-04-25 20:17
    4153
  • 设计模式:观察者模式(Observer)

    定义对象见的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。观察者模式的角色 1. 抽象主题角色(Subject):把所有对观察者对象的引用保存在一个集合...

    2016-04-25 20:15
    4147
  • 设计模式:备忘录模式(Memento)

    在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将对象恢复到原先保存的状态。备忘录模式的角色: 1. 原发器(Originator):负责创建一个备忘录,用以...

    2016-04-25 20:10
    4008
  • 设计模式:中介者模式(Mediator)

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

    2016-04-04 20:20
    1528
  • 设计模式:迭代器模式(Iterator)

    提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露改对象的内部表示。又称游标(Cursor)模式。 迭代器模式角色组成: 1. 抽象容器角色(Aggregate):负责提供创建具体迭代器角色...

    2016-04-04 20:15
    1478
  • 设计模式:命令模式(Command)

    将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以支持可撤销的操作。 命令模式的角色 1. 客户端角色(Client):创建一个具体命令(Concret...

    2016-04-04 19:51
    1450
  • 设计模式:责任链模式(Chain of Responsibility)

    使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,知道有一个对象处理它为止。 责任链模式的角色: 1. 抽象处理者角色(Hand...

    2016-04-04 19:46
    1395
  • 设计模式:解释器模式(Interpreter)

    给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 解释器模式的角色: 1. 抽象表达式角色(AbstractExpression):声明一个所有的具...

    2016-04-04 19:43
    1345
  • 设计模式:模板方法模式(Template Method)

    模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。一次性的实现一个算法的不变部分,并将可变...

    2016-03-30 19:52
    1699
  • 设计模式:代理模式(Proxy)

    代理模式:为其他对象提供一种代理以控制对这个对象的访问。 代理模式中的角色: 抽象主题角色(Subject):声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对...

    2016-03-29 21:38
    2611
  • 设计模式:享元模式(Flyweight)

    运用共享技术有效地支持大量细粒度的对象。又名“蝇量模式”。  在Java语言中,String类型就是使用了享元模式。String对象是final类型,对象一旦创建就不可改变。在JAVA中字符串常量都...

    2016-03-29 21:31
    1716
  • 设计模式:外观模式(Facade)

    为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式又称门面模式。 外观模式的角色 1. 门面角色:客户端可以调用这个角色的...

    2016-03-29 21:25
    1832
  • 设计模式:装饰模式(Decorator)

    动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式想必生成子类更为灵活。  装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 ...

    2016-03-29 21:22
    1840
  • 设计模式:组合模式(Composite)

    将对象组合成属性结构以表示“部分-整体”的层次结构。组合使得用户和单个对象和组合对象的使用具有一致性。 组合模式设计的角色: 1. Component:是组合中的对象声明接口,在适当的情况下,实现...

    2016-03-29 21:16
    1559
  • 设计模式:桥接模式(Bridge)

    定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 意图:将抽象与实现解耦。  桥接模式主要应对的是由于实际的需要,某个类具有两个或者两个以上的维度变化(违反了SRP原则),如果只是用继...

    2016-03-28 19:02
    2062
  • 设计模式:适配器模式(Adapter)

    适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的哪些类可以一起工作。  适配器模式有类适配器模式和对象适配器模式两种不同的形式。 类适配器 ...

    2016-03-28 18:56
    2551
  • 设计模式:原型模式(Prototype)

    原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。  举个例子: 1 原型(实际上是implements了Cloneable接口,进而重写clone()方法)publi...

    2016-03-25 16:07
    1267

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