全自动化管理端后台设计

何谓全自动化呢,就是在我们设计并上线一个后台之后,之后对管理端基本功能就可以拿着后台直接操作设计出来而无需再次编码了。当然这里面看实际的使用,有几个可能性:

1、本身功能较为简单,只是对数据库进行基本的管理,比如增加一些表单之类的维护界面,并增加分页查询界面等等,这些对单表的操作可以被成为基本功能。

2、功能涉及到多个表,比如涉及多张表的查询,并需要对一些关联数据做维护,但是操作界面不会超过表格、表单等各种常见元素的范围。这样我们简单分类为多表操作。

3、功能本身较为复杂,具有较高的操作性,如:地图、根据日历滑动选择、根据图表选择操作等等,这些功能需要涉及到定制的界面,这样我们可以将此类功能划分为复杂功能。

那么一个全自动化的管理端,需要解决的问题就是1和2了,而3显然不是这个管理端需要解决的问题。为什么呢,如果用3分钟的配置时间就可以节省下来20分钟的开发时间,显然这个时间是很划算的,因为如果要开发的话,后面还要涉及到n多的后续步骤,浪费的时间就不是一点点了,何况一些基本功能根本用不着开发。而对于复杂功能,本身就没有那么容易完成,开发时间只在里面占了很小一部分。

既然是设计,我们先来谈一下理想情况下怎么样,目前市面上实际已经有很多类似的管理端的思路了,基本的思路是通过模板页面生成代码,或者生成配置,从而增加新的模块。

通常会碰到如下问题:
1、模板是需要开发的,这个理所当然,比如这个框架是php的,用了某个后台框架,这个框架规定必须有个Controller,有个Model,还要有个View才能工作,那么模板就要包含这几块。

2、假如需要一定的业务逻辑和业务规则,那么一般是需要在生成Model之后继承一个方法来修改,或者框架本身可以记录一些业务规则,可以新增一个文件对应到这个规则,也就是本身后台是个业务规则解释器,或者开发环境是一个规则解释器,这个后台当然不希望设计得这么复杂。

3、假设有新功能,比如新增一个表,能否在线直接将后台功能搞出来,不需要上线

4、如果有必要,需要能支持插件来扩展新功能。

前端:

目前的主流有两种思路:
1、jquery模式

注意这里的jquery只是个代称,并不一定要真的用jquery,它的特点是,前端的展现方式都是html,而html都由后端生成。后端不管是用php、java还是c#,都需要对应一套基本的后台管理模式,比如权限管理、mvc等。

2、vue模式
注意vue也是代称,并不一定要真的用vue。它的特点是,前端需要编译出一套js+css,而html相对固定,也就是前端是固定的,而不是后端生成。而后端只需要提供一套标准的接口给前端使用即可。

这两种模式就决定了整个后台的ui理念是完全不同的。

query模式,重在后端生成html,所以所有的前端控件的使用本质是可以转化为后端模板的开发上面,比如前端要支持一个地图,那么显然只要后端能开发一个地图的模板出来,就可以生成地图应用。

vue模式,重在后端仅提供服务,而控件由前端来搞定,那么本质上就转化成了前端的开发。前端有多少控件,就能支持多少功能。

那么在实际使用中,哪一种比较好,这个个人都有一套主观意见,我们这里当然不打算讨论哪个好。我们这里要研究的是,有没有一种方法可以结合两者的优点的?

vue模式,前端每一个功能都是一个组件,理论上可以做到单独工作,显然这个模式在组件的维护上,是较为优雅的,而jquery模式根本谈不上前端组件的概念。

但是组件的代码写完之后就固定了,不能变了,要改变得下次上线再说。

而jquery模式就没有这个顾虑,完全可以通过修改模板来实现,显然修改模板的成本比修改前端一个组件的成本要低很多。当然也是要上线就是了。

那么我们这里可以考虑这样一个模式:用jquery生成html的方式生成组件,并将生成的组件保存起来以便让前端使用,这样一方面可以方便的维护组件,另一方面,可以将生成html这个快速功能增加速度。

上述观点是这个后台的大框架。

再来看下其他方面的问题:

后台一般的思路是通过开发模板或者开发配置进而实现组件的新增,那么能不能有个功能本身可以做这两件事,我们可以在后台通过使用后台设计组件设计的组件来对配置进行设计。

什么意思呢?后台本身是个递归系统,即:我可以设计组件,这个组件又是其他设计组件设计器的组件,这样就形成了一个递归系统。

这么说有点抽象,举个例子:

比如有张表student,内有字段id,name,sex,class_id,age
如果要对这张表做一个维护,我们需要有增加表单、编辑表单、展示列表等基本元素。
比如增加表单,内有文本框(name),单选按钮组(sex),列表选择器(class_id),数字控件(age),

首先的问题是这些字段如何跟这些控件对应起来?

我们可以做个维护功能,设置某表的某个字段在某个使用场景下使用某个控件。

第二个问题是:要选择哪个模板生成对应的页面?

我们仍然可以做个维护功能,设置某表在某个场景下使用某个模板生成页面,这个过程可重复,当模板更新的时候,页面可以全部一次性更新。

第三个问题:模板对应的属性都有哪些,这些属性可以设计吗?还是非要修改模板的源码?

比如一个列表的模板,有些列表需要在右边展示编辑按钮,有些列表不需要分页,有些列表需要表头排序,等等,我们希望当修改了某个属性的时候,通过同样的模板+不同的属性可以生成不同的实际使用页面。那么这些模板+场景的属性设置页面,是一定需要修改源码吗?还是本身这个属性仍然可以被框架设计,比如可以任意增加属性,而不需要修改源码。

如果可以做到,那么就是拿框架设计框架了,当然本身框架需要实现这个功能。

那么这样下来这个框架的功能也就确定了:
1、可以无限增加前端控件而无需上线
2、可以无限增加功能页面而无需上线
3、可以自我设计,即为本身的功能也可以让后台生成
4、可以设计模板
5、可以为模板设计属性

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270