1700466299
1700466300
public class Client{
1700466301
1700466302
public static void main(String[]args){
1700466303
1700466304
//老板一想不对呀,兔子不吃窝边草,还是找借用人员好点
1700466305
1700466306
//我们只修改了这句话
1700466307
1700466308
IUserInfo youngGirl=new OuterUserInfo();
1700466309
1700466310
//从数据库中查到101个
1700466311
1700466312
for(int i=0;i<101;i++){
1700466313
1700466314
youngGirl.getMobileNumber();
1700466315
1700466316
}
1700466317
1700466318
}
1700466319
1700466320
}
1700466321
1700466322
大家看,使用了适配器模式只修改了一句话,其他的业务逻辑都不用修改就解决了系统对接的问题,而且在我们实际系统中只是增加了一个业务类的继承,就实现了可以查本公司的员工信息,也可以查人力资源公司的员工信息,尽量少的修改,通过扩展的方式解决了该问题。这就是适配模式。
1700466323
1700466324
[1]出自《史记·卷九十二》。
1700466325
1700466326
1700466327
1700466328
1700466330
设计模式之禅 19.2 适配器模式的定义
1700466331
1700466332
适配器模式(Adapter Pattern)的定义如下:
1700466333
1700466334
Convert the interface of a class into another interface clients expect.Adapter lets classes work together that couldn’t otherwise because of incompatible interfaces.(将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。)
1700466335
1700466336
适配器模式又叫做变压器模式,也叫做包装模式(Wrapper),但是包装模式可不止一个,还包括了第17章讲解的装饰模式。适配器模式的通用类图,如图19-4所示。
1700466337
1700466338
1700466339
1700466340
1700466341
图19-4 适配器模式通用类图
1700466342
1700466343
适配器模式在生活中还是很常见的,比如你笔记本上的电源适配器,可以使用在110~220V之间变化的电源,而笔记本还能正常工作,这也是适配器一个良好模式的体现,简单地说,适配器模式就是把一个接口或类转换成其他的接口或类,从另一方面来说,适配器模式也就是一个包装模式,为什么呢?它把Adaptee包装成一个Target接口的类,加了一层衣服,包装成另外一个靓妞了。大家知道,设计模式原是为建筑设计而服务的,软件设计模式只是借用了人家的原理而已,那我们来看看最原始的适配器是如何设计的,如图19-5所示。
1700466344
1700466345
1700466346
1700466347
1700466348
图19-5 两个已经成型的物体
[
上一页 ]
[ :1.700466299e+09 ]
[
下一页 ]