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

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

  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 可以在这里下载源码。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

【专业技术】Chromium浏览器组件是咋设计出来的?

在文章开始之前,我要叽歪几句,一上来就看chrome的代码,简直晕头转向,摸来摸去摸不着头脑,好不容易看了一点点代码,却宛如瞎子摸象,无法众观全局,下面这篇小文...

36560
来自专栏古时的风筝

用python实现的百度新歌榜、热歌榜下载器

首先声明,本工具仅仅为学习之用,不涉及版权问题,因为百度音乐里面的歌曲本身是可以下载的,而且现在百度也提供了”百度音乐播放器”,可以通过这个工具进行批量下载。 ...

24350
来自专栏WeTest质量开放平台团队的专栏

微信小程序之提高应用速度小技巧

小程序科普类的文章已经很多了,今天这里讲的是针对小程序的优化方法,可以有效提高小程序的响应速度和用户体验。当然,开发体验也提高不少。

2.4K00
来自专栏知晓程序

小程序如何提交审核,并发布?| 小程序问答 #36

今天,知晓程序(微信号 zxcx0101)就来教你,如何在公众平台提交审核、发布小程序。

21830
来自专栏北京马哥教育

实战:用 Python 爬虫攻破爱奇艺 VIP 视频防线

一、实战背景 爱奇艺的VIP视频只有会员能看,普通用户只能看前6分钟。比如加勒比海盗5的URL:http://www.iqiyi.com/v_19rr7qhfg...

56480
来自专栏抠抠空间

webpack基础

16300
来自专栏互联网数据官iCDO

Google代码管理工具101 部分5-表单

主编前言: 很多朋友都听说过Tag Management(监测代码管理),但其强大的功能和实现方式,了解的朋友不多。本系列以Google Tag Manager...

39650
来自专栏智能算法

一文看懂npm、yarn、pnpm之间的区别

原文:Understanding differences between npm, yarn and pnpm 作者:Alex Kras 翻译:雁惊寒 本文作者...

409100
来自专栏张旭舟的专栏

【腾讯云的1001种玩法】利用腾讯云搭建个人博客

利用腾讯云搭建个人博客背景闲扯作为一个程序员,都会想搭建一个自己的技术博客的,我也不例外。刚工作的时候,不会网站相关技术,只能利用wordpress部署一套现成...

4.7K00
来自专栏云计算-私有云

Windows Server 2019前瞻

十一假期马上就过完了,不知道各位小伙伴玩的怎么样啊,是否有遇到“人在囧途”或者是否看到了处处大海。微软于2018年9月24日-28日在美国召开了Ignite 2...

1.5K00

扫码关注云+社区

领取腾讯云代金券