《ASP.NET办公自动化系统开发实例导航》笔记一

一本厚厚的书,由于只是讲一个系统,比较详细,所以拿过来看看,不过也发现此系统的N多问题,不过我们应该取其精华,去齐糟粕嘛。

这本书主要是讲一个.NET的B/S OA系统,整体来说大部分还是运用了.NET思想,少部分有点问题,但是不影响其整体优秀的思想。其中可以学到大量的编程技巧。

这里先看到第一部分:前两章。

框架设计心得:
1.对于复杂的系统,我们可以分模块;可以分为多级模块,大模块包含小模块。在数据表的具体表现就是把所有的小模块放在一起,每个模块会有自己的一些属性。比如此系统的模块基本信息表:
字段名描述
pkid主键(自动增加)
tabid一级ID
indexid二级ID
name模块名称
description模块描述
url模块页面路径

2.权限的问题也变得比较重要。首先,每个用户必须属于某个“角色”,而每个角色对于每个模块又会有相应的代码。这是一种处理权限的标准思路,也就是说,分为用户表(包含每个用户的所属角色)、角色模块权限表。这样,便可以处理复杂的权限关系。

3.这个系统分为了四个层:通用层、数据层、逻辑层、表示层(Web)。设置通用层是比较必要的,可以放置许多需要调用的函数(比如判断某项是否为空)。

4.最好能把一系列相关的信息归并成类。比如数据层或逻辑层有一个日志操作类,专门用于对日志写入和读取等等操作。这样,可以用几个方法来实现。但是,一个操作分为很多项,比如操作人ID,姓名,操作时间等等。这些信息是否也可以归并为一类呢?可以,所以我们可以在通用层中建立一个类,这个类主要是用成员属性来归并信息,这样可以加强结构化。(其实这种类本身就和结构差不多,也不需要方法等复杂操作)

5.可以充分利用存储结构中的返回参数来返回值(即param output)。调用他的方法很简单,首先和一般参数一样,定义一个参数,声明类型为output,然后执行该Command后,直接取出该Param的值即可。如:
SqlParameter parameterEmpID  =   new  SqlParameter( " @empid " , SqlDbType.Int,  4 );
parameterEmpID.Direction 
=  ParameterDirection.Output;     // 对输出参数的处理很简单,指明为输出参数即可.运行命令后就可以直接取它的值param.Value.
myCommand.Parameters.Add(parameterEmpID);
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
string  result  =  parameterEmpID.Value;
// 上面的result即为我们所要求的返回参数值

6.页面基类。这是ASP.NET面向对象思想的核心应用,如果一个.NET B/S系统没有使用基类根本就不算是.NET程序。所有模块的WEB页面都要继承基类PageBase,它提供WEB页面所需要的基本信息和相关服务,比如登录用户信息、用户访问权限、操作日志、页面错误处理。这样的好处很明显,每个继承了此基类的页面可以直接调用这些信息,比如可以简单的实现当前页面位置信息,权限管理等等。同时,也加强了灵活性,如果要增减页面特性,只需要在PageBase里修改,所有页面都会相应增减特性。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值