1700466285
1700466286
for(int i=0;i<101;i++){
1700466287
1700466288
youngGirl.getMobileNumber();
1700466289
1700466290
}
1700466291
1700466292
}
1700466293
1700466294
}
1700466295
1700466296
这老板比较色呀。从数据库中生成了101个UserInfo对象,直接打印出来就成了。老板回头一想,不对呀,兔子不吃窝边草,还是调取借用人员看看,于是要查询出借用人员中美女的电话号码,如代码清单19-7所示。
1700466297
1700466298
代码清单19-7 查看劳动服务公司人员信息场景
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.(将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。)
[
上一页 ]
[ :1.700466285e+09 ]
[
下一页 ]