适配器模式:设计模式和VB .net实现 适配器模式来源: 发布时间:星期四, 2009年1月15日 浏览:70次 评论:0
这是看Design Patterns in C#同步心得体会记录.里头记录了VB实现代码,还有些感性认识,另外,忽略些C#特性和不太相关东西.
这本书买了有两年了,开始时看不懂.直到近来才有所体会. 第部分 接口型模式介绍 接口型模式,通俗说就是使用种约定好接口,来完成两个类的间.先不管这中约定是为什么而来. 接口为什么而来问题,将会对应产生区别接口型模式. 接口和抽象类区别,我认为最本质是:接口是种约定,而抽象类是种真实抽象,它是某类东西具体表现.而接口?则什么都不是,只是种方面描述. 抽象类是必将会产生个真实对象,而不管这个对象是在继承链那层. 接口仅仅只是个方面描述. 这样就能够明白,什么地方要使用接口,什么地方要使用抽象类.又为什么VB中个类可以实现多个接口,而只能继承个类. 适配器模式 我们有个现成类Supply用来记录供应商 ,另外个开发者Perry也生成类似于Supply类叫:SuperSupply,它实现了某个接口 CompanyInterface(记录相关往来公司信息接口).功能和Supply差不多,但Perry不能让这个类成员和Supply成员取样名称(觉得Supply中成员名称取太次了,没点儿水平.最重要是,定义CompanyInterface 人,完全没看到Supply,这人该被罚买王老吉箱).于是,Perry决定适配 Supply类,Supply中代码还过去,能完成任务,不出错, 其实,适配就是将Supply包装下,换个名称,用另个成员名称其成员.就象给辆两厢轿车装个吉普外壳.当然,现实中这样车很难有吉普表现,但计算机却无所不能.请看: Public Interface CompanyInterfaceInterface CompanyInterface 造成这种现象原因通俗来比喻,就是:有了辆两厢车,但越野赛只能让吉普车参加.没办法.这里头: 越野赛规定是客户端请求约定:必须要有 4轮驱动,大排汽口什么.(CompanyInterface) 吉普车外壳就是个适配器,用来适配这些要求和供应者(SuperSupply) 两厢车就是被适配对象(Supply). 这样来,这个车就能参加比赛了,他能跑,而且看上去和别吉普车没什么区别.如果驾驶员Perry水平高话,说不定跑还快... 适配器模式,书中说了两种类型:类适配器,对象适配器.上面事例代码是对象适配器,Supply类是作为个对象,来提供被适配成员.而类适配器是: Public Interface CompanyInterfaceInterface CompanyInterface 和对象适配器区别是,它直接从Supply中派生,不用有Supply例子成员变量.他们各有各不好的处: 类适配器在SupplySuper要从其他类中派生时,就不能使用了,单继承. 对象适配器,要有个Supply事例成员,可能有些额外工作如销毁,异常. 外观模式 待续... 0
相关文章读者评论发表评论 |