ASP.NET应用管理系统框架概述(一)

 

1       前言

本人开发过几个项目,参与过几个项目,维护着几个项目,经历了很多于是乎也就有了很多很多想法,同时希望将这些想法一一实现。经过将近两年时间,断断续续地编写,基本上将自己设想的架构实现。现在开始准备将架构的设计、开发及应用陆续的写出来,对于其中的一些设计有更好的方法请各位指出。

2       概述

2.1    系统管理

2.1.1    经历

基本上每个信息管理系统都会涉及到系统管理,管理用户、角色、权限等等,不同的系统、不同的编程语言、不同的数据库,以至于不停的复制粘贴、不停的在不同的编程环境中绘制大致一样的窗口、数据库的不同导致SQL语句的细微差别,几个项目下来让人疲惫不堪。

从开始编程时使用的FoxBaseFoxPro编写一套完整的管理系统,编写的功能模块可方便的嵌入系统,随着技术的发展,之后又使用Visual BasicDelphiPHPASP.NET等开发项目,系统管理一次又一次被移植,繁琐的移植工作使人越来越想开发一套统一的系统管理的管理系统。

2.1.2    想法

在学习ASP.NET 2.0时,觉得成员管理、角色管理以及提供程序为ASP.NET提供了统一的系统管理,在VS中又内置了一个系统管理的网站,使本人眼前一亮,终于找到一个统一管理平台了。但随后的学习及使用中越来越发现了它的缺陷和不足,它没有权限管理、组织机构管理,除了 SqlServer数据库 没有其他的提供程序等等。但是它给予我的启发却是巨大的,在工作空闲之余开发一套类似ASP.NET 2.0管理成员、角色等系统管理的统一平台。

2.1.3    实现

开发了一个自定义的成员提供程序管理成员,丢弃了ASP.NET的角色管理,开发出更适合的角色管理类,开发了应用程序、组织机构及权限管理类,为应用程序界面开发了菜单管理类及继承开发了菜单控件,并开发了一整套系统管理的功能界面,形成一个系统管理的Web应用程序。

对于不同的数据库,ASP.NET 2.0使用不同的提供程序实现,但是本架构是通过策略模式和提供程序实现,目前已经通过策略模式开发SqlServerOracleSybaseMySqlAccess等常用的数据库,其他数据库可继承本架构的成员提供程序实现。

本架构的系统管理与ASP.NET一样,需要建立本架构的数据库表结构,如果数据库的结构不同,可继承或重写本架构的成员提供程序实现,当然成员、角色、权限及菜单的属性和构思有相当大的差别时就不宜使用本架构了。

具体的开发思路及实现方法将在后面的章节进行阐述。

2.1.4    扩展

本架构可将不同应用程序的系统管理数据存放在同一数据库下,相互之间不会干扰,可以通过一套系统管理的Web应用程序管理多个应用程序;也可以不同应用程序的系统管理使用同一个系统管理,这样一个用户帐号被应用到多个应用程序中。

通过发布WebService服务,不是ASP.NET应用程序同样可以使用本架构的系统管理功能,但是需要编写相应的数据类访问WebService服务。

 

原文地址:https://www.cnblogs.com/mm8413/p/1279600.html