posts - 176, comments - 240, trackbacks - 0, articles - 7

静态描述与动态调整

Posted on 2007-05-27 18:48 canonical 阅读(1227) 评论(1)  编辑  收藏 所属分类: Witrix开发平台
    描述所关注的是“what”,而运行所关注的是“how”。在现代软件开发中,描述信息作占的比重日益加大。甚至一种极端的倾向是把所有业务逻辑都写在各种格式的配置文件中. 配置文件目前多采用xml格式,它的优点是自说明的:属性名直接标示了其基本含义,但是这也在一定程度上加重了命名的负担, 造成了配置文件的臃肿。因为在普通的程序语言中,可以用来传递信息的结构更加丰富,例如参数的相对位置,参数类型, 匿名函数, 指针引用等。而一般配置文件中没有定义合适的继承,封装等抽象机制,很难如同普通程序语言那样进行有效的结构压缩。
    在很多灵活的弱类型语言中,借助各式语法糖(syntax sugar)可以实现描述性的运行结构, 或者可以看作是构造性的描述, 它在部分程度上消解了描述的诠释问题, 不需要额外的解释器即可实现描述结构的解析. 这有些类似于编译理论中的语法制导翻译, 在动态结构组装方面具有明显的优势. http://www.blogjava.net/canonical/articles/19697.html. 但是独立的描述信息仍然是有着重要作用的, 关键是作为元数据存在的描述信息可以以多种方式被使用, 并可以被部分使用. 此外一些特殊设计的描述文件可以很自然的汇集系统各个方面的信息到同一层面加以展示,而一个通用语言无论语法如何灵活, 抽象能力如何强大, 毕竟受限于先天的结构, 要做到这一点还是不现实的.
    在witrix平台中配置文件的设计一般是综合考虑静态描述和动态调整的需要, 在设计上分成静态描述段和动态运行的init段, 系统将确保init段中的tpl代码会在适当的时候被调用.


Feedback

# re: 静态描述与动态调整  回复  更多评论   

2007-08-18 04:54 by ObjectTutor
软件要灵活,但要适度
太灵活了就事半功倍了

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


网站导航: