剑心博客

Just for java

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  1 随笔 :: 29 文章 :: 1 评论 :: 0 Trackbacks

设计模式之Interpreter(解释器)

板桥里人 http://www.jdon.com 2002/05/05

模式实战书籍《Java实用系统开发指南》

Interpreter解释器模式定义:
定义语言的文法 ,并且建立一个解释器来解释该语言中的句子.

Interpreter似乎使用面不是很广,它描述了一个语言解释器是如何构成的,在实际应用中,我们可能很少去构造一个语言的文法.我们还是来简单的了解一下:

首先要建立一个接口,用来描述共同的操作.

public interface AbstractExpression {
   void interpret( Context context );
}

再看看包含解释器之外的一些全局信息

public interface Context { }

AbstractExpression的具体实现分两种:终结符表达式和非终结符表达式:

public   class  TerminalExpression  implements  AbstractExpression { 
   
public   void  interpret( Context context ) { }

对于文法中没一条规则,非终结符表达式都必须的:

public   class  NonterminalExpression  implements  AbstractExpression 
   
private  AbstractExpression successor; 
  
   
public   void  setSuccessor( AbstractExpression successor ) 
     
this .successor  =  successor; 
   }
 

   
public  AbstractExpression getSuccessor() 
     
return  successor; 
   }


   
public   void  interpret( Context context )  { }  
}
 
posted on 2006-12-11 19:54 powerwind 阅读(182) 评论(0)  编辑  收藏 所属分类: 转来好帖java设计模式

只有注册用户登录后才能发表评论。


网站导航: