Bridge模式的目的就是为了适应变化,如不同的人在不同的情况下睡觉的姿式,时间都不尽相同,故需要适应变化, Bridge模式将实体对象的抽象及其行为的抽象相分离,通过一定的组合,来实现变化的需要;而从单个单个变化来看,他的结构又和Adapter模式的结构相似,故Bridge模式又可以理解为我们为N个不同的场景而建立的N个Adapter模式。Bridge模式包含四个部分:
[list]
[*][b]Abstraction:[/b] 业务抽象类,系统对外提供的原始抽象接口
[*][b]RefindAbstraction:[/b] 根据实际业务对外提供的微调后的方法
[*][b]Implementor:[/b]业务的实现方法接口
[*][b]ConcreteImplementorA:[/b]实际业务实现方法 Bridge模式
[/list]
[size=large][b]UML图:[/b][/size]
[align=center][img]http://f-1.tuzhan.com:8080/p-2/l/2012/08/05/15/ac14322ecc6246c79b755c94d5a18662.jpg[/img][/align]
[b]注:关于Person与Sleep之间的关系,一般有多种理解,包括聚合,包含与依赖,而此图使用依赖关系。在具体实现中使用哪种关系,当然要看具体的场景和需要。[/b]
[list]
[*][b]Abstraction:[/b] 业务抽象类,系统对外提供的原始抽象接口
[*][b]RefindAbstraction:[/b] 根据实际业务对外提供的微调后的方法
[*][b]Implementor:[/b]业务的实现方法接口
[*][b]ConcreteImplementorA:[/b]实际业务实现方法 Bridge模式
[/list]
[size=large][b]UML图:[/b][/size]
[align=center][img]http://f-1.tuzhan.com:8080/p-2/l/2012/08/05/15/ac14322ecc6246c79b755c94d5a18662.jpg[/img][/align]
[b]注:关于Person与Sleep之间的关系,一般有多种理解,包括聚合,包含与依赖,而此图使用依赖关系。在具体实现中使用哪种关系,当然要看具体的场景和需要。[/b]