| 作者 |
内容 |
| wwh0058 |
各位大侠,帮帮忙
各位大侠,帮帮忙
adaper模式中所说的插入式adaper到底是什么意思啊?我实在是笨,看不懂,
还有,在那里能下载原版<设计模式>? |
| 01/09/05 13:52 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| wwh0058 |
有没有人能帮忙啊
各位大侠,帮帮忙
adaper模式中所说的插入式adaper到底是什么意思啊?我实在是笨,看不懂,
还有,在那里能下载原版<设计模式>? |
| 01/09/05 16:36 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| potian |
回复:
有没有人能帮忙啊
设计模式一文中的例子,使用抽象接口或者代理对象都是为了adapt到不同的接口,他们的目的都是为了当你所adapt的树型结构是不同类的时候通过这样的机制可插入地adapt.
这里的核心是TreeDisplay同时要作为一个客户使用,所以他才会对它显示的结构有所要求,一旦实现了可插入的ADAPTER,那么TreeDisplay就显示你提供任何一种树形结构的东西。
TreeDisplay本身对他所显示的东西有一个要求,譬如说是Tree接口,但是你现在的FileSystementity却没有这样一个接口。
这时候的办法就是定义一个TreeAccessorDelete接口,让你可以使用它作为Target,从而进行adapt.如果你有其他的LDAPDirectory,那么你也只需要提供一个在TreeAccessorDelete和LDAPDirectory的adpter即可。
所以,这里的方法也就是接口匹配,客户已经存在,它显示的内部结构(Tree)如果固定的话,那么对就很难使用TreeDisplay来显示不同的结构,但是,如果你定义了一个窄接口,让其他同样已经存在的adaptee适配到这个接口,那么就是可插入了。
|
| 01/09/06 14:29 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| wwh0058 |
果然是大侠、高手,送你一朵花
我大概明白了一些“可插入”的意思了。谢谢!
对于“使用抽象操作”与“使用代理对象”,我想说一说,
我更欣赏“使用代理对象”的方式,
我觉得“使用抽象操作”只是一种折中的方式:系统的类已经创建好不能再修改了(接口已经固定),没有办法修改TreeDisPlay(client,target),因此假设有一个“窄接口”的存在,通过生成TreeDisPlay的子类(adapter)来实现“窄接口”,并适配adaptee.
“使用代理对象“是确实存在此“窄接口”,TreeDisPlay是client,"窄接口”(实例)是target."窄接口”的子类是adapter.
"参数化适配器"我还是不明白。 |
| 01/09/06 17:00 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|