我的网站的后台管理的结构图。

不知道这个能不能放在首页,不行的话我会测下来的。

另外这个算不算是一种架构呢?

欢迎大家多多批评指教!

说在前面:

1、 配置文件并不是 web.config文件,显然要往配置文件里放很多的东西,web.config有点小了,也不方便。

也不是XML文件,因为我还不太会使用XML,如果使用XML的话,又要都读出来放在内存里以提高访问速度,比较占用内存。其实是一个Access数据库。

2、 蓝色空心箭头表示数据的流向;

桔黄色的是查询控件向分页控件提供查询条件;

黑色的实心箭头是配置文件向控件提供控件所需要的属性;

蓝色的实心箭头表示点击树的节点可以进入的页面。

3、 数据访问层和网站里用的是完全一样的,分页控件略有差别,

      网站里的是URL分页,而这里的是PostBack分页。

4、显示数据列表的页面和添加修改数据的页面,在项目里只会出现一次。无论是新闻管理还是产品管理都是用的相同的页面。栏目再多也就是这两个页面。增加栏目只需要修改配置文件! 这个是我现在用的网站后台管理的结构图,已经有两年多的历史了,整理了一下拿出来请大家批批。

功能:

1、 可以实现数据的浏览、查询、添加、修改、删除等功能。

2、 权限管理。

3、 操作记录。

4、 出错记录。(其实这个是数据访问层的功能)

特点:

1、 控件化,这个看图就知道了,几乎就是由控件“搭”起来的。

2、 代码少,都是调用控件,代码自然会很少。

3、 页面少,一般的情况(主从表除外)两个页面就够了,一个页面用来显示数据列表(包括查询、删除),一个页面用来添加、修改数据。因为控件所需的属性都写到了配置文件里面。

4、 有专门的程序来维护“配置文件”,不用手动的改来改去了。

5、 SQL语句和程序的分离。以前发的帖子里有人回复说,直接在UI层里写SQL不好。我也觉得不太好,于是就完全分离出来。通用的部分放在了控件里面,变化的(表名、字段名)放在了配置文件里面。

6、便于维护。比如一开始添加新闻的地方只有新闻标题、新闻内容两个字段,几天以后又要增加编辑、来源。修改数据库后,只需要修改配置文件就可以了,不需要修改代码,更不需要重新编译。而修改配置文件也只需要轻点几下鼠标,因为有一个配置文件的维护程序。 配置文件里的内容: 1、分页控件的属性。每一个页面都对应不同的表,所以呢需要把这些属性都放到配置文件里面。 2、字段的描述。字段的类型、使用什么控件(文本框、下拉列表或是其他),外观描述(宽度、字符数等),相关的SQL语句(比如下拉列表框需要的绑定数据的SQL语句)。 3、表单控件的属性。这个就比较多了,表单控件要绘制出文本框之类的控件,好让用户来输入数据,然后呢收集这些数据进行前台的判断,后台判断,组合成SQL语句(或者给存储过程的参数赋值),提交给数据访问层,最后保存到数据库。也就是说要把字段的描述信息都放在这个配置文件里面,然后是哪个页面需要哪些字段,也就是对应关系。内容还是比较多的,放在XML里面还真不知道怎么做(XML不太熟呀。) 3、查询控件,这个和表单控件差不多。其实时在作表单控件的时候突然想到的,可以利用表单控件的原理顺便作一个查询控件呀。 4、显示数据的控件,那个页面需要显示那些字段,td的宽度,居中居右还是居左等信息。

缺点:

1、 有很大的局限性,放之四海而皆准是不太可能了(至少现在是这样)。我的目的是小而精,自己用着舒服就行,用不到的功能就暂时不加,以后用到的时候再说。:)

2、 并不能完成所有的功能,涉及不到的还是要单独写页面的。比如权限分配,主从表的添加、修改等。

PS:

什么您说我的这个只能应对简单的添加修改的操作。

是呀,现在做的是网站,逻辑很简单了,这个后台可以完成90%以上的功能。

可以说使用这个后台,不需要修改代码,只需要更换配置文件就可以应用在数据结构完全不同的网站。 网站结构图

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏听雨堂

JQuery笔记(三) jquery的用途

  近期jquery的学习经历了一些反复:开始时觉得非常强大,比js好用,和css关系密切,一句话:完美。等到把《锋利的JQuery》看完,又有点不知道用它来干...

33590
来自专栏QQ音乐技术团队的专栏

【QQ音乐web团队】:ReactJS 服务端同构实践

最近在项目中接入了 ReactJS 并在服务端做了同构直出。关于 ReactJS 服务端同构业界已经有不少分享,这篇文章会主要注重实践的内容,把实现细节和遇到的...

35870
来自专栏deepcc

pjax 历史管理 jQuery.History.js

42050
来自专栏云飞学编程

Python新手爬虫,简单制作抓取廖雪峰的教程的小爬虫

先看几张对比图,分别是官网截图和抓取下来的txt文档的截图,不算那难看的排版的话,内容是一致的,图片用url替换了!

30710
来自专栏小文博客

为你的站点加上“懒加载”——提高用户体验&节省流量

通常来说,一个正常web页面是由图片和文字以及各种CSS,JS构成,而这其中,拖慢网速的罪魁祸首就是图片。懒加载即将页面中的图片分布加载,边浏览边加载,从而减轻...

44690
来自专栏web前端教室

先行者计划群视频 每周一课 -- 什么是前端组件?(文字简版)

image.png 在今天同学们发我的作业中,我给一个同学回复说,你这不是组件化,只是一个效果的实现。他问我,那还要什么呢?我不是特别理解。 今天咱们先聊一下,...

209100
来自专栏小文博客

为你的站点加上“懒加载”——提高用户体验&节省流量

20230
来自专栏蔡述雄的专栏

包学会之浅入浅出Vue.js:开学篇

Vue 是国人写的,技术文档也妥妥的是中文,想到这我就有学习的动力。

51K690
来自专栏葡萄城控件技术团队

JavaScript 性能优化技巧分享

17660
来自专栏王磊的博客

jQuery日期和时间插件(jquery-ui-timepicker-addon.js)中文破解版使用

简介 jQuery UI Datepicker日期选择插件很好用了,只不过只能精确到日,不能选择时间(小时分钟秒)很遗憾,而jquery-ui-timepick...

43850

扫码关注云+社区

领取腾讯云代金券