适配器模式通常可以适用于:
Adapter pattern可以将以前实现的类包装建出新的类,一旦类出现bug,在确定既有类没bug的情况下,只要重点检查Adapter参与者类,即是已有的类需要符合新建的接口,在不改动原有类的情况下,使用适配器模型来符合该接口(API)。
版本更新与兼容性要求时,也可以考虑适配器模式来兼容Version2与Version1。
模式参与者:
Target:决定现在需要什么方法的参与者,如下例的NoteBookVoltage
Client:利用Target的方法来完成事情,如下例的Main
Adaptee:具有既有方法的参与者,如下例的ChineseVoltage
Adapter:利用Adapter的方法满足Target的需求,如下例的NoteBookVoltage
Adapter pattern有两种实现:
类的Adapter pattern(继承)
[img]http://dl.iteye.com/upload/attachment/0079/5870/54c22f89-a32b-345e-acd4-728fe5cc1154.jpg[/img]
对象的Adapter pattern(委托)
[img]http://dl.iteye.com/upload/attachment/0079/5868/cc5029cc-1fd0-341f-ad77-0a6526defc14.jpg[/img]
Adapter pattern可以将以前实现的类包装建出新的类,一旦类出现bug,在确定既有类没bug的情况下,只要重点检查Adapter参与者类,即是已有的类需要符合新建的接口,在不改动原有类的情况下,使用适配器模型来符合该接口(API)。
版本更新与兼容性要求时,也可以考虑适配器模式来兼容Version2与Version1。
模式参与者:
Target:决定现在需要什么方法的参与者,如下例的NoteBookVoltage
Client:利用Target的方法来完成事情,如下例的Main
Adaptee:具有既有方法的参与者,如下例的ChineseVoltage
Adapter:利用Adapter的方法满足Target的需求,如下例的NoteBookVoltage
Adapter pattern有两种实现:
类的Adapter pattern(继承)
[img]http://dl.iteye.com/upload/attachment/0079/5870/54c22f89-a32b-345e-acd4-728fe5cc1154.jpg[/img]
对象的Adapter pattern(委托)
[img]http://dl.iteye.com/upload/attachment/0079/5868/cc5029cc-1fd0-341f-ad77-0a6526defc14.jpg[/img]