Der Blog des Autors: http://blog.csdn.net/oyiboy/
Der Grund, warum ich immer noch mit MVC zur Entwicklung von ASP befürworte, besteht darin, die prozessorientierte Denkmethode in eine objektorientierte Denkmethode zu verwandeln, die für Entwickler jeder Sprache von Vorteil ist.
MVC ist ein Standardmodell. Es scheint, dass es wirklich schwierig ist, ASP zu implementieren, aber der Standard ist der Standard, und die Anwendung ist die Anwendung. Da es für ASP schwierig ist, dieses Modell zu implementieren, können Sie versuchen, das MVC -Modell in ein Modell zu verwandeln, das zu Ihnen passt.
"Egal was die weiße Katze ist, die schwarze Katze kann eine Maus fangen, es ist eine gute Katze." Für uns Entwickler, egal in welchem Modell es es ist, kann es unser Denken korrekt leiten, und ein Modell, das das Projekt perfekt abschließt, ist ein gutes Modell. Schließlich verwenden Benutzer unser Programm und unser Modell.
In dieser Zeit habe ich auch gelernt, wie man Unterricht benutzt und das Design von Ereignissen begegnet.
Eigentlich verstehe ich die spezifische Ereignisdesignmethode nicht sehr gut. Newskyline sagte mir in QQ, dass ASP keine Klassenereignisse durchführen kann.
Simulation kann nur durchgeführt werden. Und was ist mit mir? Es wird als Mittel angesehen, um das Ziel zu erreichen (das Programm schreiben). Es wird angenommen, dass Simulation gut ist oder nicht, solange der Effekt, den ich möchte, gut ist.
Es gibt zwei Möglichkeiten, Ereignisse zu simulieren:
Der erste Typ: Ausleihenausführung/Eval, verwenden Sie ein Attribut, um das Zeichen des Funktionsnamens zu erfassen und dann ausführende/eval zu verwenden, um die Funktion auszuführen.
wie:
obj.ondataupdatestart = "checkData"
Seine Struktur ist:
publicPropertyletondataupdatestart (byvala_strvalue)
'' Ein strenger Verifizierungscode für A_StrValue wird hier weggelassen.
p_strondataupdatestart = a_strvalue
Endproperschaft
Das Ereignis wird ausgelöst als:
publicsubdataupdate ()
'' ... ignoriere den Prozess ...
execute (p_strondataupdatestart & "(Parametervariable, Parametervariable zwei)")))))
'' ... ignoriere den Prozess ...
Ende
Lassen Sie mich kurz die Unterschiede zwischen Ausführung und Bewertung erwähnen.
Das gleiche "x = y". Das Ergebnis von Execute ("x = y") besteht darin, X den Y -Wert zuzuweisen, während Eval ("x = y") einen booleschen Wert zurückgibt, der die Testergebnisse von x und y darstellt. Wenn x gleich Y ist, wird es wahr zurückgegeben, andernfalls wird es falsch zurückgegeben.
Der zweite Typ: Ausleihen des Funktionszeigers GetRef. Gemäß der Erläuterung des VBS -Handbuchs ist es eine Funktion, die den Bindungsereignissen gewidmet ist. Die spezifische Erklärung lautet wie folgt:
"Gibt einen Verweis auf einen Prozess zurück, der ein Ereignis bindet."
Spezifische Anwendungsbeispiele wie:
obj.ondataupdatestart = "checkData"
Seine Struktur wird geändert in:
Publicondataupdatestart '' kann den GET/LET -Modus tatsächlich verwenden. Ich möchte faul sein, also erkläre ich direkt eine öffentliche Variable, um sie zu bestehen.
Der Ereignisauslöser wird geändert in:
publicsubdataupdate ()
'' ... ignoriere den Prozess ...
setMe.ondataupdatestart = getRef (Ondataupdatestart)