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

1. 使用js,html 撰写dsl 1

1.1. 架构图 1

1.2. html 2

1.3. Js 2

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

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

1.5.1. brow建立ast   (http param) 3

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

1.6. 标准dsl $method 3

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

3. 自动dsl从html param 4

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

4.1. 架构图 4

4.1.1. 解析http param 4

4.1.2. 执行ast 5

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://blog.csdn.net/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. 敏捷软件开发(2)--- 设计原则

    之前讲设计模式系列的时候,也提过这些原则: http://www.cnblogs.com/deman/category/634503.html 现在在根据敏捷一书,学习下. 我们已经有23种设计模式, ...

  2. 软件开发,重点在设计

    近来讨论了很多关于Delphi接口跟其他语言的不同,当然在这里讨论Delphi为什么要这样做是没什么意义的,毕竟人家已经定了这个规矩.提出讨论的目的就是我想知道有什么好的解决方案,还有就是提醒大家注意 ...

  3. 软件开发之感——全局设计

    昨天和今天上午,为了大家更好地合作,解决一部分出现的冲突和问题,我们小组和师兄一起研究了敏捷开发的svn使用,发现了我们在开发时,需要注意的问题,也是我们思想上的缺失! 在自考的过程中我们解除了很多和 ...

  4. 阿里技术专家:谈谈软件开发中的 “过度设计”

    引言 写软件和造楼房一样需要设计,但是和建筑行业严谨客观的设计规范不同,软件设计常常很主观,且容易引发争论. 设计模式被认为是软件设计的"规范",但是在互联网快速发展的过程中,也暴 ...

  5. 餐饮管理软件开发流程?怎么设计?

    作为一家从事餐饮行业管理软件的开发商,中顶软件一直都在不断的提升自己的业务水平,而其中对于软件的开发设计工作,从来就没有停止过.这也是为什么很多代理以及商家都钟情于中顶软件的原因.今天小编就给大家聊一 ...

  6. 软件开发 过程管理流程设计

    根据当前公司的情况,分析整理设计了这个开发管理流程,希望能够解决项目开发中出现的管理问题.

  7. 从零开始学习音视频编程技术(二十一) 录屏软件开发之最终完善

    原文地址:http://blog.yundiantech.com/?log=blog&id=28 上面我们已经生成了录屏的视频,然而这个视频并不是理想中的那样,随时时间的增加,音视频会越来越不 ...

  8. 创业期的软件开发管理(二)

    接上文创业期的软件开发管理(一) 软件队伍 技术主管 决策者对软件开发可能一知半解,他们会想当然地认为软件开发过程比较"简单":从市场上找一个技术带头人,然后组建一个开发队伍,其余 ...

  9. 一个沉重的问题:软件开发到底还有价值吗?

    无论是医生.老师,还是会计,都很容易让人理解工作内容,并且这项工作在现实生活中也可以继续发挥作用,但软件开发工程师这个岗位实在是不好描述.纵观国内外不少程序员扎堆的论坛,我们总能看到与"软件 ...

  10. 软件开发外包管理的“一二四”

    在信息化整个生命周期中,企业都越来越依赖于外部供应商,从需求分析到系统选型,再到项目实施乃至最后的运行维护,IT供应商始终与企业如影随形.尤其在核心竞争力理论的指导下,"把包括IT在内的不能 ...

最新文章

  1. python多包运行_如何组织包含多个包的python项目,以便包中的每个文件仍然可以单独运行?...
  2. 成功解决ValueError: Shape of passed values is (1, 332), indices imply (1, 1)
  3. sklearn自学指南(part18)--多项式回归-用基函数扩展线性模型
  4. 汽车电子专业知识篇(二十)-深度解析CAN FD与传统CAN的差异
  5. websocket原理
  6. ElasticSearch初体验之使用Java进行最基本的增删改查
  7. ORACLE常用函数汇总【转】
  8. fpga多摩川编码器开源代码_F28379D之CLB解码多摩川编码器1——入手小知识(原创)...
  9. poj 2987 Firing (最大权 闭合 图)
  10. exploration 和 exploitation 的区别
  11. SPLUS软件授权管理必知
  12. xposed模拟器安装
  13. PHP在线pdf电子合同生成,pdf添加水印
  14. hexo d错误:fatal: unable to auto-detect email address
  15. 转:我的创业梦想,一个关于照片的网站
  16. ZOJ-1003-Crashing-Balloon
  17. Qt在Win下调用系统的软键盘,区分win7\win8\win10
  18. 深入理解CAS算法原理
  19. logical_and(),logical_or(), logical_not(), logical_xor()用法详解
  20. 驰网独家英特尔i913900K处理器性能参数一览!Steam游戏专用i913900k服务器!!

热门文章

  1. flutter 判断是不是调试模式_当永恒的软键盘问题遇到Flutter
  2. mysql删除用户密码_MySQL 创建用户、授权用户、撤销用户权限、更改用户密码、删除用户(实用技巧)...
  3. html怎么让form弄成一个表,创建一个HTML表,其中每个TR是一个FORM
  4. 基于MATLAB的窗函数滤波器设计,基于matlab的FIR滤波器窗函数设计
  5. void和void指针解析
  6. Swift进阶 - 更高效的使用集合
  7. Rabbitmq 延迟队列
  8. Linux下udev详细介绍
  9. TFS 2010 使安装更容易,让VSS历史
  10. mysql数据库学习——2,数据库的选定,创建,删除和变更