从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

阅读更多
个人分类: JAVA
上一篇从Java类库看设计模式3
下一篇ThreadLocal[转载IBM DeveloperWorks]
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭