在(38)重用形式下,直接把内部对象的接口引用传给外部对象的客户,而不再转发请求。
单选题
在(38)重用形式下,直接把内部对象的接口引用传给外部对象的客户,而不再转发请求。
A. 引用
B. 转发
C. 包含
D. 聚集
答案:D
解析
正确答案:D 聚集
“聚集”重用中,外部对象不代收请求,而是把内部对象的接口引用直接交给客户,客户可绕过外部对象直接调用内部对象,因此不再需要转发请求。
- A 引用:外部对象通过引用使用内部对象,调用仍由外部对象发起,客户不直接获得该引用。
- B 转发:客户请求先到外部对象,再由外部对象转给内部对象,客户不直接接触内部对象。
- C 包含:内部对象被封装在外部对象内部,通常由外部对象统一控制访问,客户不能直接访问。
- D 聚集:符合“直接把内部对象接口引用传给客户”的描述。
延伸:复用形式中,转发耦合较紧、包含封装性强;聚集暴露内部引用,耦合更松但可能破坏封装。面试常结合委托、组合/聚合、UML 菱形以及迪米特法则对比。