关于后台系统自动生成的一点思考

大量实践发现后台管理程序,其实90%的代码都是相同的,当然是在抛弃复杂逻辑业务的情况下,那么如何能高效的节约这些时间呢,那就是接下来我要说的,对于后台系统自动生成的一些思考。

适用情景:

  1、表编号id为自增(基于现在大部分表编号都是自增的情况);

  2、没有太复杂业务关联关系,比如表的某一个字段,存储了一个json对象,为了平衡后台用户使用,需要友好的分段展示给用户的定制ui界面;还比如表中存储了外键的多个id,但为了方便用户使用,只能已标签name的方式,给用户展示,等等这些超强业务黏合逻辑的情景,是不能被满足的;

特殊说明:

  先阶段任何自动化的程序都是为了辅助开发,而不是替代开发的,因为任何人都不需要简单并且千篇一律的系统。

进入正文:

  最核心的就是下面这个思维导向图:

只要解决了上述所有问题,就解决了自动生成的问题。

解决方案:

生成系统一定是可配置行的,需要用配置来替代编码,并且他一定是基于某个模板的,不同的程序生成的代码也是不同的,比如nodejs就是html和控制器、asp.net则是页面加扩展类。

实现思路:

1.配置模板,提取生成循环标签;

2.配置数据库,先连接上数据库;

3.列出数据库下的所有表,开发人员选着相应的表,配置生成目标;

4.配置查询条件、列表展示列和顺序、配置新增/修改模板;

5.循环替换模板,生成模板;

到此就开发完成了。

 

以上为是鄙人对于后台系统生成的一点思考,愿为大家提供一些帮助或者一些灵感!最后祝周末愉快!

 

 

 

 

 

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MFC定时器SetTimer函数用法总结

CWnd类的SetTimer成员函数只能在CWnd类或其派生类中调用,而API函数SetTimer则没有这个限制,这是一个很重要的区别。 1、启动定时器。 启动定时器就需要使用CWnd类的成员函数SetTimer。CWnd::SetTimer的原型如下: 参数nIDEvent指定一个非零的…

全网最全的Numpy开发入门教程(详细案例版)

概述 NumPy是一个Python库,每个数据科学专业人员都应该熟悉它这个全面的NumPy教程从头开始介绍NumPy,从基本的数学运算到NumPy如何处理图像数据本文中有大量的Numpy概念和Python代码 介绍 我非常喜欢Python中的NumPy库。在我的数据科学之旅中&#xff…

android开源库收集

1. google valley Android网络通信库 git clone https://android.googlesource.com/platform/frameworks/volley 介绍 http://www.cnblogs.com/bvin/p/3291611.html#2806770 http://liubin.org/2013/05/27/android-volley-at-a-glance/ 2.Afinal是一个android的ioc&#xff…

微信分享JSSDK-invalid signature签名错误的解决方案

核对官方步骤,确认签名算法。 确认签名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?tjsapisign 页面工具进行校验。确认config中nonceStr(js中驼峰标准大写S), timestamp与用以签名中的对应noncestr, timesta…

MFC操作Excel2003的CRange类的Copy函数和Delete函数实现方法

一、CRange类的Copy函数实现方法 具体步骤: 1.实例化一个CRange类对象range1,关联你要拷贝的区域; 2.实例化一个CRange类对象range2,关联你要将要粘贴到的区域; 3.调用前一个range1对象的Copy函数,就可…

Django代码编写规范

1. 编码声明 在 Python 解释器执行代码时,需要告诉解释器代码的编码方式。Python 代码实际上是文本数据,如果代码的编码方式与解释器读取的编码方式不一致,将会因编码错误,代码无法执行。Python 2 解释器读取代码时,默…

Get sdcard directory by adb

解决方案: adb shell echo $EXTERNAL_STORAGE I am making an application, which pulls files(Saved by android app) from the device sdcard by adb. The problem is that different devices, have various sdcard directories i.e: sdcardsdcard/external_sdFi…

VueJs开发笔记—IDE选择和优化、框架特性、数据调用、路由选项及使用

一、IDE的选择: VsCode和WebStorm都是不错的选择,说一下两者的优缺点,调试便捷性来说两者不相上下. WebStorm缺点:性能方面VsCode远好于WebStorm; WebStorm优点:代码引用追踪Ws有VsCode无,控制台…

MFC新建文件夹、打开文件夹的实现方法

一、 MFC新建文件夹到指定路径的实现方法 典例: 二、 MFC保存文件到指定路径的实现方法 典例: 三、 MFC打开指定路径的文件夹的实现方法 典例: 注意:ShellExecute函数还可以打开指定路径的普通文件或者可执行文件。

VueJs生产环境部署

VueJs为客户端语言,所以部署的时候是不需要基于nodejs或其他服务器运行环境,只需要像其他静态站点的方式发布就可以了,下面介绍一下VueJs具体发布的流程还有需要注意的点。 先来看VueJs最终生成的文件目录: 具体的步骤如下&#x…

a20隐藏底部按钮及隐藏状态栏和虚拟按键栏

2019独角兽企业重金招聘Python工程师标准>>> 隐藏RecentButton按钮: 在源码android4.2/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java的makeStatusBarView()方法中添加(这是全志androi…

如何计算一个网段的子网掩码,网络ID,广播地址和可用IP地址数

1.判断两个IP在不在一个网段,主要看这两个IP的网络ID,如果网络ID相同则这两个IP在同一网段 示例:判断192.168.0.11/26 和 192.168.0.111/26在不在同一网段 首先计算两个IP的网络ID: 192.168.0.11/26 子网掩码(2进…

WebApi开启CORS支持跨域POST

概念:CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 现象:如请…

MFC中CString类字符串与长整型、浮点型、字符数组char数据之间的相互转换

一、长整型数据与CString类字符串相互转换 1.将长整型数据转换为CString字符串类 CString str; long ld; str.Format(_T("%ld"),ld); 2.将CString字符串类转换为长整型数据 CString str; long ld; ld_wtol(str); _wtol()在<stdlib.h> and <wchar.h>…

SSH2 后端编程思路总结

课程快结束了&#xff0c;那我就总结一下利用SSH2框架设计网站后端的思路吧。网站的后端设计大部分操作都是数据的存取&#xff0c;那么就总结一下Strut2中后端操作以及几点要注意的事项吧。后端操作&#xff1a;后端的操作基本上都是在Model、Action以及Service中完成的&#…

如何给APP开发属于自己的小程序

前言 工欲善其事&#xff0c;必先利其器。 首先&#xff0c;我们需要知道微信小程序是什么&#xff1f;微信小程序内核是什么&#xff1f;微信小程序的开发语言什么&#xff1f;这样才能更好的开发微信小程序&#xff0c;以及解决遇到的问题。 一、微信小程序是什么 微信小程…

Xamarin开发笔记—WebView双项事件调用

1.Xamarin调用WebView&#xff1a; 原理&#xff1a;Xamarin.Forms WebView内置方法xx.Eval(..)可以调用到页面里面的js函数。 WebView展示的代码如下&#xff1a; var htmlSource new HtmlWebViewSource();htmlSource.Html "<html><head><meta charse…

数据仓库入门(实验10)在Excel中查询层次结构

一、连接到SSAS二、导入数据三、选择数值、行标签、列标签1. 选择数值2. 选择行标签3. 选择列标签四、过滤五、完成转载于:https://blog.51cto.com/jimshu/1339522

MFC中CString类字符串用法小结

一、 赋值运算 二、 比较运算 注意&#xff1a;如果s1小于s2;则z等于-1&#xff1b;如果s1大于s2;则z等于1&#xff1b;如果s1等于s2;则z等于0&#xff1b; 三、 删除函数 四、 插入函数 五、 计算字符总个数函数 更加详细内容参考VS2010 MSDN

设置 Google Analytics(分析)全局网站统计代码

设置 Google Analytics&#xff08;分析&#xff09;全局网站统计代码 本文包含的主题&#xff1a; 基本说明根据您的网站类型设置数据收集验证您的全局网站代码是否正常工作相关资源 基本说明 无论您要从哪些网站收集数据&#xff0c;如果您尚未为每个目标网站分别创建 Goog…