Atitit.软件开发的最终的设计 dsl化,ast化(建立ast, 解析执行ast)

1. 使用js,html 撰写dsl1

1.1. 架构图1

1.2. html2

1.3. Js2

1.4. Cs桌面程序也可使用html js dsl2

1.5. 调用dwr  建立ast,并执行ast2

1.5.1. brow建立ast   (http param)3

1.5.2. 我们的程序, 解析执行ast3

1.6. 标准dsl $method3

2. ---------------------------our part4

3. 自动dsl从html param4

4. Request解析器解析http param ,建立ast (orm_obj) 执行ast4

4.1. 架构图4

4.1.1. 解析http param4

4.1.2. 执行ast5

5. 后台API 映射5

1. 使用js,html 撰写dsl

1.1. 架构图

1.2. html

<input name=”$method” value=”select”>

<input name=”$meta” value=”{}”>

<input name=”f1” value=”v1”>

使用jquery序列化

1.3. Js

Obj={“$method”:”select”,”$meta”:{}}

1.4. Cs桌面程序也可使用html js dsl

生成html param url

1.5. 调用dwr  建立ast,并执行ast

统一nsCommder与dwr的操作

如果是web环境,调用ajax引擎。

如果cs环境,调用nsnsCommder  browsExt

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

1.5.1. brow建立ast   (http param)

$Method=select&$meta={}& f1=v1&f2=v2

$Method=xxxx¶m=val¶m2=val2

1.5.2. 我们的程序, 解析执行ast

1.6. 标准dsl $method

Crud sql..(select,update,insert,del)

Sql

2. ---------------------------our part

3. 自动dsl从html param

4. Request解析器解析http param ,建立ast (orm_obj) 执行ast

4.1. 架构图

4.1.1. 解析http param

filed

Op

Insert,select,update,merge,del,delete,remove

Table

Tab1

Fields

MapFmt{ f1:v1 , f2:v2 , f3:v3 }

4.1.2. 执行ast

Atiorm(with dsl)

5. 后台API 映射

将后台api使用反射的形式,做js api映射。。可宫前边使用

Atitit.软件开发的最终的设计 dsl化,ast化(建立ast, 解析执行ast)的更多相关文章

  1. Atitit.软件开发的终于的设计&#160;dsl化,ast化(建立ast,&#160;解析运行ast)

    Atitit.软件开发的终于的设计 dsl化,ast化(建立ast, 解析运行ast) 1. 使用js,html 撰写dsl 1 1.1. 架构图 1 1.2. html 2 1.3. Js 2 1. ...

  2. Atitit.软件开发的三层结构isv金字塔模型

    Atitit.软件开发的三层结构isv金字塔模型 第一层,Implements 层,着重与功能的实现.. 第二次,spec层,理论层,设计规范,接口,等.流程.方法论 顶层,val层,价值观层,原则, ...

  3. Atitit.软件开发的几大规则,法则,与原则Principle v3

    Atitit.软件开发的几大规则,法则,与原则Principle  v31.1. 修改历史22. 设计模式六大原则22.1. 设计模式六大原则(1):单一职责原则22.2. 设计模式六大原则(2):里 ...

  4. Atitit.软件开发提升稳定性总结

    Atitit.软件开发提升稳定性总结 #----影响稳定性几个类别 3 1. 资源和内存泄漏溢出 3 2. 数据库/文件死锁 3 3. 类库冲突 3 4. 热更新热部署(业务可用性 3 5. 程序崩溃 ...

  5. atitit.软件开发--socket框架选型--netty vs mina j

    atitit.软件开发--socket框架选型--netty vs mina j . Netty是由JBOSS提供的一个java开源框架 Apache mina 三.文档比较 mina文档多,,, 好 ...

  6. Atitit. 软件开发中的管理哲学--一个伟大的事业必然是过程导向为主 过程导向 vs 结果导向

    Atitit. 软件开发中的管理哲学--一个伟大的事业必然是过程导向为主    过程导向 vs 结果导向 1. 一个伟大的事业必然是过程导向为主 1 1.1. 过程的执行情况(有明确的执行手册及标准) ...

  7. Atitit.软件开发的几大规则,法则,与原则。。。attilax总结

    Atitit.软件开发的几大规则,法则,与原则... 1. 设计模式六大原则 2 1.1. 设计模式六大原则(1):单一职责原则 2 1.2. 设计模式六大原则(2):里氏替换原则 2 1.3. 设计 ...

  8. Atitit.软件开发的几大规则,法则,与原则p821.doc

    Atitit.软件开发的几大规则,法则,与原则p821.doc 1. 设计模式六大原则2 1.1. 设计模式六大原则(1):单一职责原则2 1.2. 设计模式六大原则(2):里氏替换原则2 1.3.  ...

  9. Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义

    Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义 首先我们指明,任何一种行动以及教派修行方法都有他的多元化,只看到某一方面,就不能很好的评估利弊,适不适合自己使 ...

随机推荐

  1. Java 8:不要再用循环了 Stream替代for循环

    原文:http://www.importnew.com/14841.html 在这篇文章里,我们将会去了解传统循环的一些替代方案.在Java 8的新功能特性中,最棒的特性就是允许我们去表达我们想要完成 ...

  2. python2和python3输入输出相关

    python3: #coding=utf-8 a = input("请输入你的名字:") print("%s"%a) #输出没有一点问题,a就是字符串(或者数字 ...

  3. 通过命名管道协议方式访问群集SQL的一个小问题

    原来的单机实例SQL如果开放命名管道协议访问可以在.Net程序的连接字符串中增加“;Net=dbnmpntw"以通过命名管道协议方式访问,但是当迁移到群集SQL后,.net通过它可能无法正常 ...

  4. 图灵机器人聊天api

    图灵机器人,功能非常强大,可用于聊天.查询等多个领域 图灵机器人官网:http://www.tuling123.com api地址:http://www.tuling123.com/openapi/a ...

  5. iOS:键盘弹出和收起的通知使用

    介绍:不论是UITextField,还是UITextView,使用它们输入文字时都是有键盘的弹出,此时可能会挡住我们创建的一分部其他视图,此时,就需要根据键盘的高度将我们被隐藏的部分View做向上或者 ...

  6. linux内核设计学习

    负载平衡程序 load_balance调用条件:只要当前可执行队列为空,它就会被调用.被定时器调用:系统空闲时每隔1毫秒调用一次或其他情况下每隔200mm调用一次.单处理器不会被调用 执行步骤1. 首 ...

  7. EEPlat 与 SOA

    EEPlat具有良好的可集成性和高度的系统开放性. EEPlat中系统级的服务由业务对象的服务通过规则引擎定义的业务逻辑组织建立起来.系统级的服务和业务对象的服务都可以直接公布为WebService供 ...

  8. 亲測,Eclipse报&quot;An error has occurred,See error log for more details. java.lang.NullPointerException&quot;

    Eclipse报"An error has occurred,See error log for more details. java.lang.NullPointerException&q ...

  9. SQL语句详细汇总[转]

    经典SQL语句大全 一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql serv ...

  10. PhoneGap录像 以及 录音功能 简单代码实现3

    1,录音功能 navigator.device.capture.captureAudio( function(files){//成功回调函数 Ext.getCmp("video_files_ ...