从Java类库看设计模式4

http://www-128.ibm.com/developerworks/cn/java/l-jdkdp/part4/index.html

Strategy Pattern:

1. 策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换

2. 建立一个算法解决类,用来提供客户端可以自由选择算法,该类中包含公共的接口的引用,并在初始化

Constructor中传入接口的类型,给该引用赋值

3. Client端调用算法解决类,传入参数(具体算法类名,通过upcasting来给算法解决类的公共接口的引用赋

值)

Strategy模式注重于算法的封装(Bridge模式注重于分离抽象和实现,为一个抽象体系提供不同的实现)

实际整个Strategy的核心部分就是抽象类的使用,使用Strategy模式可以在用户需要变化时,修改量很少,而且快速

可以参考JR的文章http://www.javaresearch.org/article/showarticle.jsp?column=31&thread=12453

Composite Pattern:

合成模式将对象组织到树结构中,可以用来描述整体与部分的关系

定义一个接口或抽象类,这是设计模式通用方式了,其他设计模式对接口内部定义限制不多,

Composite却有个规定,那就是要在接口内部定义一个用于访问和管理Composite组合体的对象们(或称部件

Component)

可以参考JR的文章http://www.javaresearch.org/article/showarticle.jsp?column=31&thread=12464

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值