使用.net 中的动态方法编程备忘录2(使用发出动态方法的意义)

软件开发,需要一定的灵活性。

要实现灵活性,通常是根据配置信息,动态灵活地执行不同代码。

比如一个Asp.net程序,你从数据库读出一个DataTable,按照要求,你需要为用户提供多种显示方案,如按Table方式显示时,Table不同行、列用不同格式显示。

1、最笨的方法,为每种显示方式做一个页面。

这种方式优点是运行效率是最高的,就对一个页面的维护来说,因逻辑简单,所以维护时逻辑也较简单;

这种方式缺点是有多少显示方案,你就要为每种方案做一套页面,另外维护时虽然逻辑简单,但可能工作量较大。

2、采用较灵活方式,设计一个配置文件,根据配置文件,动态生成页面。

这种方式的优点是灵活性强,逻辑也不太复杂;

这种方式的缺点,是运行效率不高,比如,如果要求每列采用不同格式,那么你在生成表格时,每生成一列,都要读一次配置文件信息,然后据该列配置文件来生成单元格。

3、将DataTable转换成xml,而不同样式方案,则采用不同xslt进行转换。

这种方式的优点,是数据与样式的分离,速度我没测试过,想来大概跟上面第二种情况差不多,或略优。

缺点是对开发人员要求较严,必须熟悉xslt语法,另外速度也不是最佳。

4、采用动态方法,程序根据配置信息创建动态方法,可以 以显示方式 作为键,将动态方法生成的 代理 保存在哈希表中,每次根据不同要求,从哈希表取出不同代理执行相应的动态方法。

采用这种方式,需要设计一个好的配置文件,动态方法根据配置文件在运行时生成。

这种方式的优点是效率高,应与第一种持平,另外在扩展性也不错。

这种方式的缺点,是要求开发和维护人员熟悉这种开发模式,相对于其他方式开发,发出动态方法的代码也较难读懂,较难维护。

 

总的来说,我认为发出动态方法这种开发模式,是一个优秀开发人员应掌握的,这种方式,在对业务充分抽象的基础上,可设计出重用性相当高的代码,且运行效率也更是没得说。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值