`
DavidWang
  • 浏览: 44128 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java Pattern - Structure Pattern

阅读更多

Adapter 故名思意"适配器"类型,它主要的功能是改变一个类的方法使之符合特定的方法.实现Adapter有两种方式,一种是从类继承.在子类中加入新的方法.另一种就是将基类做为子类的一个参数,重新封装基类.

 Bridge 的只要目的是将接口和类的实现分离,这类似于Adapter Pattern中的类适配.但是类适配模式的主要目的是将各个不同的类的接口统一,而Bridge的目的则是将接口和类的实现分离,在不改变类的接口的情况下,我们可以从新实现方法.

Composite 是一个组合变量的模式.它可以将复杂的类型和简单的类型组合,类似树的结构.在树中包含具有子节点或者叶子的节点,也有叶子节点.在树类型的编程中,我们经常需要根据节点的属性来判断节点的类型,然后做处理.而且不同的节点类型对其处理的方法也不尽相同.所以将所有的节点统一就可以减少客户端调用的复杂性.:) 如果节点的类型大部分是叶子类型节点,则我们可以将接口不统一,只是在取节点的时候利用instanceof来判断节点类型,来做相应的处理和调用.目的是为了Save space.

Decorator目的是不通过继承类的方式来改变类方法和接口的一种模式.就像是电视机与节目信号的关系.电视机我们可以有普通的彩色电视机和等离子 液晶等不同的类型,而电视节目的内容则只有一种,电视节目通过不同的电视机展现给观众的就是不一样的效果.在此电视机相当于就是Decorator模式的类.java.io.FilterInputStream就是一个典型的Decorator模式的类.

Adapter看起来只是为了修饰一个存在的类,你可以改变他的接口来适应新的应用,而Decorators则是为类增加了一些方法而已,而且针对的是实例,而不是该实例的类.而Composite则可以看成是一个操作列表对象的Decorators.

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics