【自然框架】添加数据的思路和流程 —— 流水线式-阿里云开发者社区

开发者社区> 金色海洋> 正文

【自然框架】添加数据的思路和流程 —— 流水线式

简介:         自然框架里面,添加数据的思路、流程:     1、 根据元数据绘制表单。  2、 用户看到表单后就可以录入数据了。  3、 在前台使用正则来做验证。  4、 通过后提交给后台。
+关注继续查看

 

 

 

  自然框架里面,添加数据的思路、流程:

 

  1、 根据元数据绘制表单。
  2、 用户看到表单后就可以录入数据了。
  3、 在前台使用正则来做验证。
  4、 通过后提交给后台。
  5、 本着提交过来的数据都不可信的原则,在后台还要再次进行验证。
  6、 验证合格后,设置一个中断点。请注意这一步。
  7、 根据元数据,拼接成参数化的SQL,以及存储过程的参数,再根据用户输入的数据设置参数值。
  8、 都准备好了之后就可以通过ADO.net提交给数据库了。


 

  以上看似步骤很多,其实除了第六步之外,都是自动的。根据元数据自动运行的。

 

  第一步,可以是自定义控件或者是js脚本,比如jQuery。

  第二步是用户输入数据,这个没什么好说的。

  第三步,正则表达式也是存放在元数据里面的,根据控件(字段)调用对应的正则来判断就可以了。

  第四步,可以是提交表单(http)也可以是XMLHttp的方式。

  第五步,比较重要但是也比较容易被忽略。这里可以自动运行,即避免了麻烦也避免了被忽略掉。

  第六步,这个是一个重点,也可以算是一个突破了。

  第七步,就是拼接字符串了,按照SQL的格式来拼接,好多人也都做过了。这个也是根据元数据自动的。

  第八步略过,没啥说的。


 

  现在重点说一下这个中断点是什么意思。

 

  以上的步骤只能应对简单的添加功能,如果添加功能里面有负责的业务逻辑要求,那么些步骤就不能满足,那么要怎么办呢?做改动以应对各种业务逻辑?

 

  这么做的话就危险了,很容易失败。相信很多人都有类似的想法,也都做过类似的功能,但是好多人都半途而废了,我也差一点。

 

  原因是什么呢?就在于如何应对各种各样的业务需求的问题。

 

  如果遇到一个特殊需求就去改动这个流程(自定义控件、类库js、脚本)的话,那么就会造成一个后果 —— 越来越臃肿,最后不肯重负,无法维护。

 

  而我这里的应对方法就是 —— 不去处理!当然并不是说不管了,而是交给别人来处理。

 

  在这个中断点里,可以把用户输入的数据,自动填充到实体类里面,然后针对这个实体类来做业务逻辑处理。处理好之后,再把实体类交还回来,继续后面的流程。

 

  这样我们就可以专心致志的处理业务逻辑了。

 

  这样呢,对于一般的添加需求是没有问题的。当遇到不能处理的业务逻辑,那么就交出去处理,然后在拿回来。

 

  总体流程就不会因为特殊的业务需求而做变动,既能确保其稳定性,又能满足业务需求。


 =======================================

 

http://www.cnblogs.com/jyk/archive/2009/10/28/1591680.html 可以在这里下载源码。

 

  系统介绍 自然框架 的网站,目前正在不断完善中。

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
dzq
即时通讯(im)框架/系统开发思考(1)-通讯协议选型
文章分析了XMPP,MQTT,WebSocket,socket.io 各种协议的优缺点,最终选择了socket.io 作为即时通讯的通讯手段。
1448 0
【我们一起写框架】MVVM的WPF框架(三)—数据控件
这世上,没人能一次性写出完美无缺的框架;因为,任何一个框架都需要项目的淬炼,然后才能升华,趋近完美。 所以,框架是个反复修改的东西,最终形成的东西。 如果你学了一点技术,觉得自己可以写出框架了,觉得自己有架构师的能力,然而自己总是怀才不遇——那一定是你的错觉。
953 0
[学习日记]对SOAP头内添加信息的验证,可实现对请求WEB服务进行身份验证。
首先,当然是发送的SOAP头里添加信息的方法了,前面有过记录,这里就不再写了可参见[学习日记]对SOAP请求的头添加内容的方法 那么这次向头内添加的信息为: dim proxy as GetHttpHeadersProxy=new GetHttpHeadersProxyproxy.AddHttpHeader("name","aowind")proxy.AddHttpHeader("pwd","123456") 接下来就是WEB服务方面的验证方法了。
576 0
+关注
金色海洋
算法相关技术专家
323
文章
0
问答
文章排行榜
最热
最新