|
|
|
|
关于EOS的参数问题 发布时间:2005-10-08 00:00:00 作者:cservice 出处:goComDevCenter 语言:中文 阅读次数:1348次 |
| 目前刚开始应用EOS5.0。非常感谢普元提供了EOS 5.0这样一个出色的应用平台,但是EOS的参数传递存在巨大的问题,使得我以前的设计几乎形同废纸。
这个问题可以这样描述:目前我的手下有两个主要开发人员,一个对开发java页面熟悉,但是对数据库不够熟练(甲程序员),一个精通数据库设计,但是不熟悉java叶面设计(乙程序员),故此我在设计中特别强调了接口的概念,让两个人能够同时开始各自熟 悉领域里的工作。但是当公司决定使用贵公司的EOS开发平台后,就发现虽然EOS在其他方面都十分出色,而且解决了我很大一部分问题,但是biz的参数是与调用环境紧密关联的,打个比方,乙程序员定义了一个数据库处理的biz叫做bizIsColumnExists, 自然而然的就会定义两个参数, 一个名称叫做tableName, 一个名称叫做ColumnName, 然后甲程序员就去调用这个biz,问题就来了:在甲程序员的业务流程处理biz中赋予参数运行错误!结果发现原因居然是因为甲程序员使用了table 和column两个名字,而不是使用了tableName和columnName这两个名字!如此一来甲程序员必须新建两个节点名字叫tableName和columnName, 然后将table的值赋予tableName, column赋予columnName才能够正常运行!
我就想,如果在甲程序员的程序里tableName, columnName有别的用途呢?那么我只有建立一个临时节点temp,然后放在这个下面。但是如果都这样处理的话,我得制定一个标准,规定temp是用来放这些名称的转换。如果我的参数有10个之多呢?如果我的参数名称因为各种原因需要改写呢?。。。。。。一连串发生如此多的问题,那么我的设计的接口思想又如何体现呢?如果这样继续我以后的工作,那么我以后如何去安排两个人的工作呢?难道从此我就要掉进维护接口一致性的陷阱里吗?那么我使用EOS的好处还剩下多少呢?
我想难道这就是构件吗?我写任何其他语言的函数都只有要求类型一致,而从来不曾有要求我调用函数时名称必须与定义时一致的。况且现在更现代的语言连类型都不要求了呢?而号称高度复用的别号银弹的构件难道就是如此大费周章的高度复用的?难道就是如此让人别扭的成为软件工业化时代的银弹的?我不信。
实际上以我对EOS的肤浅了解,我认为问题其实是很容易解决的,那就是允许biz在调用的时候对传入的参数名重命名,也就是在传入参数与定义参数名称能够对应转换就是了。这样才能真正体现构件的含义,而不是我在使用构件之前我还得为我已经准备好的参数作一大篇的转换然后才能进入状态,特别麻烦。 |
|
| 声明:本栏目转载文字、造型、样式、图形及程序如有来自网络,版权归原作者或首发媒体所有,欢迎任何个人访问或者转载,若有作者及出处有误,请来信说明,我们将及时更正。 |
|