suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Lassen Sie mich eine schmerzhafte Frage stellen: Wer hat ASPs MVC gemacht? Wie kann man diese verdammte Sprache wieder populär machen?

ASP unterstützt auf magische Weise zwei Syntaxen: JScript und VBScript
Ich habe noch nie jemanden gesehen, der MVC von ASP gemacht hat, haha, ich schätze, die Person, die es implementiert hat, muss Schmerzen haben:
Meine Gedanken sind:
Einheitlicher Einstiegspunkt
Analysemodul und Aktion
Verwenden Sie dann reguläre Ausdrücke und FileSystemObject, um die Modul- und Aktions-ASP-Dateien zu verarbeiten und im Laufzeitverzeichnis zu generieren,
Rufen Sie diese Dateien dann jedes Mal zur Laufzeit auf.
Natürlich müssen Sie Dinge wie Import, Require, Include usw. implementieren
Stell mir diese Frage nicht, spürst du Schmerzen in deinen Eiern oder nicht? Ich weiß nur, dass ich Schmerzen in meinen Eiern habe, haha
Natürlich handelt es sich bei denjenigen, die ASP verwenden, im Allgemeinen um kleine Systeme. Erwarten Sie beispielsweise nicht, dass es sich um große Systeme handelt, daher mache ich dies unter kleinen Bedingungen

仅有的幸福仅有的幸福2789 Tage vor624

Antworte allen(2)Ich werde antworten

  • 给我你的怀抱

    给我你的怀抱2017-05-16 17:08:51

    其实不见得非要统一入口点嘛,让asp去分析url……若url规则比较多的话效率是不是也忒低了点儿……若不在意url的话用get的方式获取action也行。

    其实mvc的目的是为了分层分工,若能完成此目的便是ok。

    假如有一个url为/articles.asp的脚本,对应的文件是D:\project\web\articles.asp,那么此文件可以看成是controller,若有可获取数据得model文件D:\project\model\articles.asp,并且此文件定义有若干获取articles数据的方法,以及view文件D:\project\view\articles.asp,controller就可以这么写:

    <!--#include file="..\model\articles.asp"-->
    set articles = getArticleList();
    <!--#include file="..\view\articles.asp"-->

    其实其他语言也一样,要想实现mvc不见的单一入口框架是必须的。若要重点考虑性能,让webserver来决定controller比让解释器来决定效率高得多。

    Antwort
    0
  • 高洛峰

    高洛峰2017-05-16 17:08:51

    您测试过吗,我2005年想过这样做(单一入口),不过经测试ASP 3.0不支持动态include。类似这样的写法是不能生效的,include不会理会前面的if/else:

    if (条件a)
    include a.asp
    else if (条件b)
    include b.asp

    不知道过隔6年半,是不是新版本的ASP支持这个特性了

    Antwort
    0
  • StornierenAntwort