专栏首页更流畅、简洁的软件开发方式我的网站的后台管理的结构图。

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

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

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

欢迎大家多多批评指教!

说在前面:

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 条评论
登录 后参与评论

相关文章

  • 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】

    最新版本:V2.0.0.7 。http://www.cnblogs.com/jyk/archive/2008/07/28/1255101.html 下载:ht...

    用户1174620
  • 【自然框架】之 “工作日志”和“选择日期”

          上周回家办点事,更新的事情就有耽搁了。对不住大家,所以这周要努力了。       我发现要做的事情太多了,做过了哪些事情也都记不清了,所以有必要弄个...

    用户1174620
  • 【实现】表单控件里的子控件的变化。

         上一篇说的是表单布局上的变化,也就是通过TR、TD的设置,实现了多行多列的效果。那么格子画好了,我们 可以往里面放控件了。上次都是用的文本框,这个显然...

    用户1174620
  • ASP.Net Web Page深入探讨

    这篇文章经典,看过之后大受启发。值得一看!看来ASP.NET跟JSP其实是一样的,本质上没区别,ASP.NET能做到的JSP一样可以做到,反之亦然。只不过ASP...

    用户1075292
  • ConstraintLayout 想说爱你不容易~

    ConstraintLayout 约束布局 的发布已经很长时间了,和尚我用的比较少,测试时看到同事用的 ConstraintLayout 布局方式编辑的 xm...

    阿策小和尚
  • 【自然框架】之 “工作日志”和“选择日期”

          上周回家办点事,更新的事情就有耽搁了。对不住大家,所以这周要努力了。       我发现要做的事情太多了,做过了哪些事情也都记不清了,所以有必要弄个...

    用户1174620
  • Qt编写自定义控件68-IP地址输入框

    这个IP地址输入框控件,估计写烂了,网上随便一搜索,保证一大堆,估计也是因为这个控件太容易了,非常适合新手练手,一般的思路都是用4个qlineedit控件拼起来...

    feiyangqingyun
  • 谁说docker-compose不能水平扩展容器、服务多实例?

    docker-compose非常适合开发、测试、快速验证原型,这个小工具让单机部署容器变得简洁、高效。正如我在《docker-compose,docker-st...

    小码甲
  • 人脸检测(二 )——MFC实现

    一、关于MFC 微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class...

    小小詹同学
  • 简单工厂模式

    含义:简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此...

    蜻蜓队长

扫码关注云+社区

领取腾讯云代金券