2.在编程语言之间进行一次性转换。被动代码生成器的一个有趣的特性:它们不必完全准确。你需要在你投入生成器的努力和你花在修正其输出上的精力之间进行权衡。
3.生成查找表及其他在运行时计算很昂贵的资源。许多早期的图形系统都使用预先计算的正弦和余弦值表,而不是在运行时计算三角函数。在典型情况下,这些表由被动代码生成器生成,然后拷贝到源文件中。
主动代码生成器
被动代码生成器只是一种便利手段,如果你想要遵循DIY原则,主动代码生成器却是必需品。通过主动代码生成器,你可以取某项知识的一种表示形式,将其转换为你的应用需要的所有形式。这不是重复,因为衍生出的形式可以用过就废弃掉,并且是由代码生成器按需生成的(所以用“主动”这个词语)。
无论何时你发现自己在设法让两种完全不同的环境一起工作,你都应该考虑使用主动代码生成器。
在开发数据库应用方面,用户处理两种环境——数据库和用来访问它的编程语言。用户有一个schema,需要定义低级的结构,反映特定的数据库表的布局。也可以直接对其进行编码,但这违反了DIY原则:schema的知识就会在两个地方表示。当schema变化时,你需要记住改变相应的代码。如果某一列从表中被移走,而代码库却没有改变,甚至有可能连编译错误也没有。只有等你的测试开始失败时才会知道它。
另一种办法是使用主动代码生成器—如图2-1所示,读取操作,使用它生成三层架构。现在,无论何时数据库发生变化,用于访问它的代码也会自动变化。如果某一列被移走,那么它在结构中相应的字段也将消失,任何使用该列的更高级的代码就将无法通过编译。
上一篇:VB+access超市管理系统设计+需求分析+业务流程图
下一篇:基于Kinect的人体检测系统设计与实现

152mm口径榴弹炮内弹道数据库设计

Android大学一卡通APP设计与开发+源代码

医疗公众号管理系统设计+源代码

楼宇能源监控android端的设计+源代码

Android药品公司管理系统的设计+源代码

基于视觉的窄间隙焊坡口识别+源代码

jsp+mysql网络招标评审系统设计+源代码

提高教育质量,构建大學生...

浅论职工思想政治工作茬...

AES算法GPU协处理下分组加...

从政策角度谈黑龙江對俄...

浅谈高校行政管理人员的...

上海居民的社会参与研究

STC89C52单片机NRF24L01的无线病房呼叫系统设计

酵母菌发酵生产天然香料...

压疮高危人群的标准化中...

基于Joomla平台的计算机学院网站设计与开发