Blog del autor: http://blog.csdn.net/oyiboy/
La razón por la que todavía abogo por usar MVC para desarrollar ASP es solo convertir el método de pensamiento orientado al proceso en un método de pensamiento orientado a objetos, que es beneficioso para los desarrolladores de cualquier idioma.
MVC es un modelo estándar. Parece que es realmente difícil implementar ASP, pero el estándar es el estándar, y la aplicación es la aplicación. Dado que es difícil para ASP implementar este modelo, puede intentar transformar el modelo MVC en un modelo que le convenga.
"No importa cuál sea el gato blanco, el gato negro puede atrapar un ratón, es un buen gato". Para los desarrolladores, sin importar qué modelo sea, puede guiar correctamente nuestro pensamiento, y un modelo que completa perfectamente el proyecto es un buen modelo. Después de todo, los usuarios terminan usando nuestro programa en lugar de nuestro modelo.
Durante este período, debido a que entré en contacto con MVC, también sabía cómo usar la clase y encontré el diseño de eventos.
En realidad, no entiendo muy bien el método de diseño de eventos específico. Newskyline me dijo en QQ que ASP no puede hacer eventos de clase.
La simulación solo se puede hacer. Y que de mi. Se considera un medio para lograr el objetivo (escribir el programa). Se considera que la simulación es buena o no, siempre que el efecto que quiero sea bueno.
Hay dos formas de simular eventos:
El primer tipo: pedir prestado ejecutar/eval, usar un atributo para recopilar el carácter del nombre de la función y luego usar Execute/eval para ejecutar la función.
como:
obj.ondataUpDateStart = "checkData"
Su estructura es:
PublicPropertyletondataUpDatStart (byvala_strvalue)
'' Se omite un código de verificación riguroso para A_strValue.
P_strondataUpDatStart = a_strvalue
endpropertía
El evento se activa como:
PublicsubDataUpdate ()
'' ... ignora el proceso ...
ejecutar (p_strondataupdataTart & "(parámetro variable uno, variable de parámetro dos)")
'' ... ignora el proceso ...
Endsub
Permítanme mencionar brevemente las diferencias entre Execute y Eval.
Lo mismo "x = y". El resultado de Ejecutar ("x = y") es asignar el valor y a x, mientras que eval ("x = y") devolverá un valor booleano, que representa los resultados de las pruebas de x e y. Si X es igual a y, devolverá verdadero, de lo contrario devolverá falso.
El segundo tipo: tomar prestado el puntero de la función getRef. Según la explicación del manual de VBS, es una función dedicada a eventos vinculantes. La explicación específica es la siguiente:
"Devuelve una referencia a un proceso que une un evento".
Ejemplos de aplicación específicos, como:
obj.ondataUpDateStart = "checkData"
Su estructura se cambia a:
PublicondataUpDatStart '' en realidad puede usar el modo Get/Let. Quiero ser perezoso, así que declaro directamente una variable pública para aprobarla.
El disparador del evento se cambia a:
PublicsubDataUpdate ()
'' ... ignora el proceso ...
setMe.ondataUpDatStart = getRef (OnDataUpDatStart)