系统设计与建模


GRASP Indirection Pattern - GRASP之间接性模式

2007-12-12 22:36Update
TAGS: GRASP | OOD | Indirection模式

LifevV.COM编辑部

间接性模式(Indirection)是GRASP模式中解决类的关联问题的模式。


问题


为了避免类之间的直接关联,应该给什么样的类分配“关联”责任?

Indirection模式所提倡的解决方案


当多个类之间存在复杂的消息交互(关联)时,Indirection模式提倡类之间不直接进行消息交互处理(非直接),而是导入第三方类,把责任(多个类之间的关联责任)分配给第三方类,降低类之间的耦合程度。

应用Indirection模式的好处


- 高内聚。通过把“关联”的功能分散到第三方类,原来的类可以更加关注自身功能的实现。
- 低耦合。原本关联类之间不直接关联,降低类之间的耦合性。
- 高重用性。第三方类对“关联”功能的集中处理,与原来的类对自身功能的专注,有利于类的重用。

Indirection模式的应用例
应用Indirection模式的一个最好范例是GoF的Mediator(中介者)模式。
参考:设计模式之Mediator - 中介者模式[GoF]
 
Copyright ©2006-2010 lifevv.com. All Rights Reserved
POWERED BY @pmplat.syboos.com