设计模式心得(待继续补充)

作者:fbysss
msn:jameslastchina@hotmail.com 
blog:blog.csdn.net/fbysss
声明:本文由fbysss原创,转载请注明出处
关键字:设计模式

Bridge模式

接口和实现代码分离 ,指的是什么模式?(Proxy?Bridge?Observer

典型的例子:飞机有客机和货机,制造商有空客、波音、麦道。

使用桥接模式设计,

interface AirPlane{

    AirPlaneMaker apm ;   

}

PassengerPlane implements AirPlan{}

CargoPlane implements AirPlan{}

interface AirPlaneMaker{

}

AirBus implements AirPlaneMaker{};

MD implements AirPlaneMaker{};

Boeing implements AirPlaneMaker{};

 

 

其中AirPlane叫抽象化(Abstraction)角色,AirPlaneMaker叫实现化(implementor)角色;AirPlane的子类叫修正抽象化(Refined Abstraction)角色,AirplaneMaker的子类叫具体实现化(Concrete Implementor)角色

JDBC/ODBC不是桥接模式,而是适配器模式。

 

Strategy模式和Template Method模式:

两者很相似,核心都是多态的体现。形式上,Strategy包含了一个Template Method模式,但是两者考虑的角度不一样:

Strategy中的策略类一般是一个动词,强调行为,相当于把一个方法抽象出来单独作为一个类,然后这个类采用Template Method进行重构,再组合到原类中;Template Method强调层次性,由上自下设计,类以名词居多。

一般在进行系统架构设计时,往往要使用Template Method模式,而对某些行为方法进行扩展性考虑时,往往要用到Strategy模式。通过上述分析,可以说这么说:从形式上看,Strategy 模式大于 Template Method模式;从应用层次上看,Template Method大于Strategy模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值