标题:java中的代理和组合有什么区别呢?
只看楼主
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
结帖率:100%
已结贴  问题点数:50 回复次数:7 
java中的代理和组合有什么区别呢?
如题
搜索更多相关主题的帖子: java 代理 
2009-08-23 15:53
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
得分:0 
自己顶下

你能学会你想学会的任何东西,这不是你能不能学会的问题,而是你想不想学的问题
2009-08-23 17:26
pywepe
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:296
专家分:483
注 册:2009-4-5
得分:5 
回复 楼主 flyingcloude
算是两种设计模式了

代理:
interface F{}
class A implements F{}
class B implements F{}
A的的一些事情要B来做,即B来代理  大概就这样了
组合:
class A { void m(){} }
class B { A a; void n(){ a.m();}}
组合,类的属性是另一个类

java群
62635216
欢迎加入
2009-08-23 21:18
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
得分:0 
代理:
interface F{}
class A implements F{}
class B implements F{}
A的的一些事情要B来做,即B来代理  大概就这样了
我想不清楚A怎么让B来代理,望详解,谢谢了

[ 本帖最后由 flyingcloude 于 2009-8-23 22:47 编辑 ]

你能学会你想学会的任何东西,这不是你能不能学会的问题,而是你想不想学的问题
2009-08-23 22:45
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
得分:25 
学习设计模式,推荐你看一本书《head first design patterns》
https://bbs.bccn.net/thread-264615-1-8.html

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2009-08-24 08:11
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
得分:10 
看看他们的UML图和意图就可以了

[url=http://shop63425653./]/cvbnm/a6/1d/f4/7dd1720119cf3b1dcfb570b467b24051.jpg" border="0" />[/url]
2009-08-24 08:18
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
得分:10 
Head First 设计模式: 第十一课 代理模式
OOP村齐家的少爷喜欢上了尹家的小姐,但有鉴于礼法,双方长辈反对, 两个年轻人不能长时间见面。于是齐少爷的书童 和 尹小姐的丫环当起了连络人。 尹小姐想多了解齐少爷,派丫环去探探舌漏,丫环找到从小就跟着齐家少爷的书童,书童乘机说尽好话…… [ 这里丫环就是小姐的代理; 小姐要了解少爷,所以小姐是客户对象,丫环是客户辅助对象,书童是服务辅助对象,少爷是服务对象; 这个模式叫远程代理。]
齐少爷和尹小姐书信来往好久了,齐少爷记不得以前写过什么良言美句,书童会意,把保存的书信拿了出来参考。[ 书童就好比缓存代理 ]
齐家毕竟是大户人家,也指望齐少爷他日金榜题名,齐老太太天天来检查齐少爷的读书情况。这天少爷溜出去与尹小姐私会,书童穿了少爷的衣服在窗后装模作样,老太太看到窗影很高兴。 [ 虚拟代理 ]
书童身材和少爷还是比较相似的,少爷毕竟是老爷的儿子,萧峰和萧远山也很难分清的。 这天,齐老爷有点喝高了,想去留香院找小春,想起了儿子(老不正经!),于是和书童(正扮演少爷)说: 今天你扮成我,你的事过几天我做主。 于是书童又穿上老爷的衣服,贴上胡子,还有模有样。 [ 装饰者模式: 川剧《变脸》 == 本体就是那个,但外表已经改变。 ]


代理模式: 为另一个对象提供一个替身或占位符以控制对这个对象的访问。
[ 使用代理模式创建代表(representative)对象,让代表对象控制某对象的访问,被代理的对象可以是远程的对象 、创建开销大的对象或需要安全控制的对象。 ]
|
|_____> 远程代理控制访问远程对象;
|_____> 虚拟代理控制访问创建开销大的资源;
|_____> 保护代理基于权限控制对资源的访问;
设计原则: 类应该只有一个改变的理由。

模式对比:
· 装饰者 ── 包装另一个对象,并提供额外的行为;
· 外观 ── 包装许多对象以简化它们的接口;
· 代理 ── 包装另一个对象,并控制对它的访问;
· 适配器 ── 包装另一个对象,并提供不同的接口;


你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2009-08-24 08:18
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
得分:0 
感谢你的书。
    辛苦了

C#超级群 74862681,欢迎大家的到来!
2009-08-24 11:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-283507-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.597727 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved