遭遇ASP类的事件设计
我仍然倡导使用MVC架构来开发ASP程序。我之所以这样做,是因为想推广面向对象的思考方式,这对于任何语言的开发者来说都是极其有益的。MVC是一个标准模型,然而ASP要实现这一模型似乎并不容易。尽管如此,我们可以尝试调整MVC模型,使其适应我们的需求。
有句老话说的好,“不管黑猫白猫,捉到老鼠就是好猫”。对于我们开发者来说,无论采用何种模型,能正确指导我们的思路,帮助我们完美完成项目的模型就是最好的模型。毕竟,用户最终使用的是我们的程序,而不是我们的模型。
最近我接触到了MVC,并学习了Class的运用方式,也遇到了事件设计的问题。关于事件的具体设计方式,虽然我不完全明白,但QQ里newskyline已经给我做了一些解释。在ASP中,我们不能像其他一些语言那样直接为Class添加事件,但我们可以通过模拟的方式来实现。
模拟事件的方式主要有两种。
第一种方式是利用execute和eval函数。我们可以创建一个属性来接收函数名的字符,然后使用execute或eval来运行相应的函数。例如,我们可以设置obj.OnDataUpdateStart="CheckData",然后在适当的时候执行execute(p_strOnDataUpdateStart & "(参数变量一,参数变量二)"。这种方式需要注意的是,execute和eval在某些情况下可能会有安全风险,因此需要谨慎使用。
第二种方式是利用函数指针GetRef。这种方式是专门为事件绑定设计的。它“返回一个指向一过程的引用,此过程可绑定某事件”。使用这种方式,我们可以更直接地绑定事件和相应的处理过程,使得代码更简洁、易读。例如,我们可以设置obj.OnDataUpdateStart为某个过程,然后在触发事件时直接调用这个过程。
这两种方式都可以实现事件的绑定。我个人更倾向于第二种方式,因为它相对第一种方式更为严谨,能更好地保证代码的安全性和稳定性。
以上内容是我对MVC在ASP开发中的应用以及事件设计的理解和总结,希望能对大家有所帮助。
编程语言
- 遭遇ASP类的事件设计
- SQL分页语句的三种方案
- php面向对象中static静态属性与方法的内存位置分
- vue加载自定义的js文件方法
- XAMPP升级PHP版本实现步骤解析
- 详解mysql数据库如何开启慢查询日志
- SqlServer存储过程实现及拼接sql的注意点
- 在vue-cli 3中给stylus、sass样式传入共享的全局变量
- PHP 输出URL的快捷方式示例代码
- AngularJS 限定$scope的范围实例详解
- thinkphp在php7环境下提示Cannot use ‘String’ as clas
- CI框架数据库查询缓存优化的方法
- PHP7创建COOKIE和销毁COOKIE的实例方法
- 解析php如何将日志写进syslog
- 详解webpack之scss和postcss-loader的配置
- PHP PDOStatement--errorCode讲解