在CommonTemplate(
http://www.commontemplate.org)的模板域模型中, 包含两个解析树结构:
一、指令树:
Directive (指令, 接口)
Text (文本块,内置)
Comment (注释块,内置)
LineDirective (行指令,可扩展)
BlockDirective (块指令, 接口)
StartBlockDirective (起始块指令,可扩展)
MiddleBlockDirective (中间块指令,可扩展)
EndDirective (结束指令,标识)
二、表达式树:
Expression (表达式, 接口)
Constant (常量,内置)
Variable (变量,内置)
Operator (操作符, 接口)
UnaryOperator (一元操作符,可扩展)
BinaryOperator (二元操作符,可扩展)
Parenthesis (括号,标识)
接口:归类接口
内置:编译器内置实现。
可扩展:用户可扩展实现。
标识:不出现在编译结果树中。
已暴露在core包中的有:
指令树中的:
Directive,BlockDirective
表达式树中的:
Expression,Operator,UnaryOperator,BinaryOperator
现准备将:
指令树中的:
Text, Comment
表达式树中的:
Constant, Variable
也移到core包,
因为这些是指令树或表达式树的基本元素,放到core可以使模板域模型更充实,
如:用户若需要判断指令是不是文本,就可以用 if (directive instanceof Text)
而EndDirective和Parenthesis,作为标识,编译后就已抛弃,放在core包没有意义。
StartBlockDirective和MiddleBlockDirective的区分是虚拟的,在指令树中都以同样的BlockDirective保存,所以也不应该放在core包.
LineDirective似乎也应放到core包,作为BlockDirective的补集,这样会使Directive的组成部分比较完整,待进一步思考确定。
分享到:
相关推荐
重构-改善既有代码的设计.pdf重构-改善既有代码的设计.pdf
第1章 重构,第一个案例 1 1.1 起点 1 1.2 重构的第一步 7 1.3 分解并重组statement() 8 1.4 运用多态取代与价格相关的条件逻辑 34 1.5 结语 52 第2章 重构原则 53 2.1 何谓重构 53 2.2 为何重构 ...
网站重构-应用web标准进行设,web标准组织创始人Zeldman力作全新登陆中国。
java开发经典书籍,重构--改善既有代码的设计_中文版 java开发经典书籍,重构--改善既有代码的设计_中文版 java开发经典书籍,重构--改善既有代码的设计_中文版
在这个"模型重构-源文件.zip"压缩包中,我们找到了与MATLAB相关的资料,这表明我们正在处理一个涉及MATLAB编程和可能的数据建模项目。下面将详细讨论相关知识点。 首先,`i_alpha_beta.mat`是一个MATLAB数据文件,...
“Martin Fowler和本书另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献,难以衡量。本书解释重构的原理(principles)和最佳实践方式(best practices),并指出何时何地你应该开始挖掘你的代码以...
王者归来之《重构-改善既有代码的设计 chm 中文版》经典王者 王者程序员真经!
重构-改善既有代码的设计 强烈推荐! 重构-改善既有代码的设计 强烈推荐! 重构-改善既有代码的设计 强烈推荐! 重构-改善既有代码的设计 强烈推荐!
重构--改善既有代码的设计 重构--改善既有代码的设计
重构--改善既有代码的设计 文字版 epub格式
内容简介回到顶部↑ 重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分...
相信大家对这本书都有所了解,真是非常的不错,很值得学习和提高。
重构----改善既有代码的设计(完整中文扫描版PDF),精彩不容错过。
重构----改善既有代码的设计 怎么写好一个类,怎么重构已有代码,运用多中重构代码的方法,去改善代码结构。
重构--改善既有代码的设计 中文版 mobi格式
重构-改善即有代码的设计重构-改善即有代码的设计