2007-01-21
Meta Generation
代码生成现在已经逐渐成为软件开发中的一种标准技术,在众多的软件领域都大大减轻了我们重复劳动的工作量。程序中总是存在着这样那样的隐蔽的关联,它们无法在通用的程序语言框架下得到明确的表达,代码生成是我们突破既定的语言和框架限制的一种重要手段。但是代码生成也存在着严重的弊病,一方面一般的程序语言在设计时没有考虑到和代码生成工具的相互配合,因此生成代码是一次性的,代码生成工具无法以增量的方式修正已经生成的代码。另一方面,程序的结构是复杂的,代码生成工具一般基于某种简化的通用的程序模型(例如CRUD)来产生代码,它无法承载完整的程序结构,因此代码生成后手工调整量仍然很大,有的时候甚至为了微小的界面调整,将生成的代码修改的面目全非,无法发挥代码生成的优势。
在witrix平台中主要使用meta generation而不是code generation. meta实际上是对一种定制模型(model)的描述,它在某种意义上可以看作是完整程序的简化版本,但它本身并不意味着最终的程序结构。在witrix平台各处meta的使用都是可选的, 特别是在多变的前台页面,我们可以选择根据meta描述自动生成界面,也可以选择通过<df:Field name="字段名"/>来引用单个字段的meta数据. 在witrix平台中, meta可以看作是系统运行的内核, 它通过syncWithModel等属性与设计工具发生耦合. 当设计模型修改之后, 这种修改能够以增量的形式通过可控制(修改)的信道传播到系统各处.
在witrix平台中主要使用meta generation而不是code generation. meta实际上是对一种定制模型(model)的描述,它在某种意义上可以看作是完整程序的简化版本,但它本身并不意味着最终的程序结构。在witrix平台各处meta的使用都是可选的, 特别是在多变的前台页面,我们可以选择根据meta描述自动生成界面,也可以选择通过<df:Field name="字段名"/>来引用单个字段的meta数据. 在witrix平台中, meta可以看作是系统运行的内核, 它通过syncWithModel等属性与设计工具发生耦合. 当设计模型修改之后, 这种修改能够以增量的形式通过可控制(修改)的信道传播到系统各处.
发表评论
- 浏览: 107258 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
链接
最新评论
-
关于REST
说的太抽象,看完之后好像是理解了,又好像很模糊。
-- by zjq_blog -
[导入]关于jsplet的一些 ...
我有一个疑问:把一个request || response带入到biz里面会不会 ...
-- by deepthink -
C++配置管理
boost里已经有现成的啦!
-- by jimmy_c -
不完全的计算
当我们 oo 的时候,一般都不认为自己在“计算”,当我们计算的时候,根本就想不起 ...
-- by hotman_x -
面向集合的框架设计
嘿嘿,说句不合时宜的话,一个事物“完美”是因为它已经没有价值,没有改进的必要。费 ...
-- by hotman_x






评论排行榜