2009-07-29 18:23 by 水随风, 63 visits, 网摘, 收藏, 编辑
摘要:在此处我以表达式“3 + ( 4 * ( 1 + ( 1 + 2 ) ) ) * ( 1 + 2 ) ( 3 + 2 )”,虽然谈到是中文提示到这篇的,但是为了画图和解释方便,暂且用数字直接代替。
事实上,中文表达式到具体的值只有一步而已,那就是识别=>反射=>读属性。
通过上述表达式可以看出,一个表达式中有两个关键元素,即:操作符(operator)和操作数(operand).
对于操作符而言,常见是分为一元和二元的,对于二元操作符自然是有2个操作数的,不同操作数之间类型的不同也导致了结果的输出的不同。
还要考虑操作符的优先级顺序,因为在表达式中,优先级决定了谁优先计算,这步的实现直接导致了表达式表达意义的对与错。
阅读全文
2009-07-29 14:10 by 水随风, 87 visits, 网摘, 收藏, 编辑
摘要:在一些大型的桌面系统开发中,会重构出很多的基础控件。这些强大的基础控件,进而构造出非常复杂的画面,实际上这些画面也有很多的共性,所以又会抽出基础Form进行继承开发,减少开发业务的复杂度,提高了开发人员的开发效率。
而在一般的大型项目中,会有专门的一块业务,作为”系统管理员”操作的部分。实际上这些”系统管理员”对编程和系统一窍不通,但是他们明白式样,明白简单的逻辑。所以为了提供给他们很好的去操作画面上的控件。提供了一个功能,就是在管理画面将这些控件用中文的形式显示出来,并且属性的访问也用中文的形式,这样他们就可以写出简单的逻辑去管理和维护业务画面。在这里我们就用到了Attribute的强大功能,去完成这个操作。比如:当前台画面上有检索部分和结果显示部分,这部分需要动态进行SQL拼接=>
阅读全文