请教一个Adapter的问题

03-11-19 PWAIR
我看了Jdon中的《设计模式之Adapter(适配器)》

http://www.jdon.com/designpatterns/adapter.htm

这篇文章,我有一点没有看懂的地方,

文章中写到的这一小段:

现在有一个应用,需要既打方形桩,又打圆形桩.那么我们需要将这两个没有关系的类综合应用.假设RoundPeg我们没有源代码,或源代码我们不想修改,那么我们使用Adapter来实现这个应用:

public class PegAdapter extends SquarePeg{

  private RoundPeg roundPeg;

  public PegAdapter(RoundPeg peg)(this.roundPeg=peg;)

  public void insert(String str){ roundPeg.insertIntoHolestr);}

}

在insert(String str)的方法中执行的是roundPeg.insertIntoHolestr);

这不是只打了圆形桩么?方形桩是在那里打的?

望各位明白人指点一下,先谢过大家了!

    

yesj
2003-11-19 11:06
写错了

PWAIR
2003-11-19 13:29
那里写错了?

liloboy
2003-11-19 22:59
==========================

写错了

==========================

--------------------------

Re: 请教一个Adapter的问题 发表时间: 2003年11月19日 13:29:00 回复

那里写错了?

--------------------------

我来回答,应该是Pig不是Peg,对吧?:-)

这个例子,不看也罢,越看越糊涂,还是看GoF的原文吧,写的及其清楚,至少没有错误.

那个例子是:原来有RTF编辑能力的Control(Widget),怎样在文本编辑器当中复用,有两种方式,a.类继承,b.class member.比打猪的例子可清楚多了.

liloboy
2003-11-19 23:16
还有Adapter的关键点是在重用已经存在的功能性的部件,比如说RTF的编辑控件.

我在ADO.Net当中看到一个Adapter例子,是用来让客户端的离线数据集(XML或者是其他的)能够重用现存的SQL数据访问类(OleDB或者Native SQLServer的SQL访问类).

我学习的时候,看到Adapter才理解这几个类的相互关系和使用方式,看来,以后对Programmer的要求越来越高了.

猜你喜欢
3Go 1 2 3 下一页