首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计方式之Visitor模式的应用(一)

2012-12-28 
设计模式之Visitor模式的应用(一)最终的代码示例interface ErrorBase{public void handle(ErrorHandler ha

设计模式之Visitor模式的应用(一)

最终的代码示例

interface ErrorBase{    public void handle(ErrorHandler handler);}class DBError implements ErrorBase{    public void handle(ErrorHandler handler) {        handler.handle(this);    }}class CommError implements ErrorBase{    public void handle(ErrorHandler handler) {        handler.handle(this);    }}interface ErrorHandler {    public void handle(DBrror dbError);    public void handle(CommError commError);}class GUISys implements ErrorHandler{    public void announceError(ErrorBase error) {        error.handle(this);    }    public void handle(DBError dbError) {        /* 通知用户界面进行有关数据库错误的处理 */           }    public void handle(CommError commError) {            /* 通知用户界面进行有关通信错误的处理 */           }}class LogSys implements ErrorHandler{    public void announceError(ErrorBase error) {        error.handle(this);    }    public void handle(DBError dbError) {                /* 通知日志系统进行有关数据库错误的处理 */           }    public void handle(CommError commError) {        /* 通知日志系统进行有关通信错误的处理 */           }}

?

7、结论

设计模式并不仅仅是一个有关特定问题的解决方案这个结果,它的意图以及它的动机往往更重要,因为一旦我们理解了一个设计模式的意图、动机,那么在设计过程中,就很容易的发现适用于我们自己的设计模式,从而大大简化设计工作,并且可以得到一个比较理想的设计方案。

另外,在学习设计模式的过程中,应该更加注意设计模式背后的东西,即具体设计模式所共有的的一些优秀的指导原则,这些原则在 参考文献[1]的第一章中有详细的论述,基本上有两点:

发现变化,封装变化优先使用组合(Composition),而不是继承

如果注意从这些方面来学习、理解设计模式,就会得到一些比单个具体设计模式本身更有用的知识,并且即使在没有现成模式可用的情况下,我们也一样可以设计出一个好的系统来。

<!-- CMA ID: 53318 --><!-- Site ID: 10 --><!-- XSLT stylesheet used to transform this file: dw-article-6.0-beta.xsl -->


文章来源:http://www.ibm.com/developerworks/cn/java/l-dpstruct/part1/index.html?ca=drs-

热点排行