Atitit.软件开发的最终的设计 dsl化,ast化(建立ast, 解析执行ast)
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)相关推荐
- 敏捷软件开发(2)--- 设计原则
之前讲设计模式系列的时候,也提过这些原则: http://www.cnblogs.com/deman/category/634503.html 现在在根据敏捷一书,学习下. 我们已经有23种设计模式, ...
- 软件开发,重点在设计
近来讨论了很多关于Delphi接口跟其他语言的不同,当然在这里讨论Delphi为什么要这样做是没什么意义的,毕竟人家已经定了这个规矩.提出讨论的目的就是我想知道有什么好的解决方案,还有就是提醒大家注意 ...
- 软件开发之感——全局设计
昨天和今天上午,为了大家更好地合作,解决一部分出现的冲突和问题,我们小组和师兄一起研究了敏捷开发的svn使用,发现了我们在开发时,需要注意的问题,也是我们思想上的缺失! 在自考的过程中我们解除了很多和 ...
- 阿里技术专家:谈谈软件开发中的 “过度设计”
引言 写软件和造楼房一样需要设计,但是和建筑行业严谨客观的设计规范不同,软件设计常常很主观,且容易引发争论. 设计模式被认为是软件设计的"规范",但是在互联网快速发展的过程中,也暴 ...
- 餐饮管理软件开发流程?怎么设计?
作为一家从事餐饮行业管理软件的开发商,中顶软件一直都在不断的提升自己的业务水平,而其中对于软件的开发设计工作,从来就没有停止过.这也是为什么很多代理以及商家都钟情于中顶软件的原因.今天小编就给大家聊一 ...
- 软件开发 过程管理流程设计
根据当前公司的情况,分析整理设计了这个开发管理流程,希望能够解决项目开发中出现的管理问题.
- 从零开始学习音视频编程技术(二十一) 录屏软件开发之最终完善
原文地址:http://blog.yundiantech.com/?log=blog&id=28 上面我们已经生成了录屏的视频,然而这个视频并不是理想中的那样,随时时间的增加,音视频会越来越不 ...
- 创业期的软件开发管理(二)
接上文创业期的软件开发管理(一) 软件队伍 技术主管 决策者对软件开发可能一知半解,他们会想当然地认为软件开发过程比较"简单":从市场上找一个技术带头人,然后组建一个开发队伍,其余 ...
- 一个沉重的问题:软件开发到底还有价值吗?
无论是医生.老师,还是会计,都很容易让人理解工作内容,并且这项工作在现实生活中也可以继续发挥作用,但软件开发工程师这个岗位实在是不好描述.纵观国内外不少程序员扎堆的论坛,我们总能看到与"软件 ...
- 软件开发外包管理的“一二四”
在信息化整个生命周期中,企业都越来越依赖于外部供应商,从需求分析到系统选型,再到项目实施乃至最后的运行维护,IT供应商始终与企业如影随形.尤其在核心竞争力理论的指导下,"把包括IT在内的不能 ...
最新文章
- python多包运行_如何组织包含多个包的python项目,以便包中的每个文件仍然可以单独运行?...
- 成功解决ValueError: Shape of passed values is (1, 332), indices imply (1, 1)
- sklearn自学指南(part18)--多项式回归-用基函数扩展线性模型
- 汽车电子专业知识篇(二十)-深度解析CAN FD与传统CAN的差异
- websocket原理
- ElasticSearch初体验之使用Java进行最基本的增删改查
- ORACLE常用函数汇总【转】
- fpga多摩川编码器开源代码_F28379D之CLB解码多摩川编码器1——入手小知识(原创)...
- poj 2987 Firing (最大权 闭合 图)
- exploration 和 exploitation 的区别
- SPLUS软件授权管理必知
- xposed模拟器安装
- PHP在线pdf电子合同生成,pdf添加水印
- hexo d错误:fatal: unable to auto-detect email address
- 转:我的创业梦想,一个关于照片的网站
- ZOJ-1003-Crashing-Balloon
- Qt在Win下调用系统的软键盘,区分win7\win8\win10
- 深入理解CAS算法原理
- logical_and(),logical_or(), logical_not(), logical_xor()用法详解
- 驰网独家英特尔i913900K处理器性能参数一览!Steam游戏专用i913900k服务器!!
热门文章
- flutter 判断是不是调试模式_当永恒的软键盘问题遇到Flutter
- mysql删除用户密码_MySQL 创建用户、授权用户、撤销用户权限、更改用户密码、删除用户(实用技巧)...
- html怎么让form弄成一个表,创建一个HTML表,其中每个TR是一个FORM
- 基于MATLAB的窗函数滤波器设计,基于matlab的FIR滤波器窗函数设计
- void和void指针解析
- Swift进阶 - 更高效的使用集合
- Rabbitmq 延迟队列
- Linux下udev详细介绍
- TFS 2010 使安装更容易,让VSS历史
- mysql数据库学习——2,数据库的选定,创建,删除和变更