开始搞.NET有个把月了,现在在版主以及各位大侠的帮助下,第一个.Net程序基本写完了。
写了大概有1500多行,心中所想的功能基本实现,但是还有些问题希望和各位讨论一下。就是关于程序执行效率的问题。
我的程序类似自定义了一类图元,然后通过各类事件让用户可以参数化修改图元。这个过程中,有时候参数修改较为复杂,我试了2类做法:
1. 把所有参数修改一次性全部重绘一次,对于未修改的参数,也重绘,只是图元不变化,但过程上看是重新赋值绘制了。这样的话,我就只需要做一次打开数据库的工作,完成所有操作。(我不知道这样说准确不准确,我把Dim DB As DataBase, Dim Tr as transaction,然后用tr做一些事叫做打开一次数据库)
2.我也试着把各个参数的修改定义了一个过程修改。这样可以通过不同参数变化调用不同过程修改图元。但是每个过程里面都有个打开数据库的过程。可以当修改参数较多的时候,就需要不断打开,关闭,又打开的过程。。。
不知道这两类做法那类比较好?或者还有更好的方法??
另外,为了响应自定义图元的一系列修改,我定义了很多事件,比如添加、双击、选择、取消选择、移动、复制、删除等等。可是我自己的程序也会有时候去添加、复制、删除图元。也会激发事件,于是我采用了一个全局变量Bool EventsLock,当我自己程序运行时,我把这个变量设为True,所有事件碰到这个略过,我的程序运行完后,再改回Fasle,事件函数才会响应。
这种做法可否有提高效率的作用。
各位,希望能把各位编程经历中,提高程序执行效率的好方法共享一下。不重代码,重思维,重方法!! |