一个大型项目之后一个coder的 心得
Technorati 标签: 心得 开发模式 开发思想输入合法性的控制:
一个是是否合法字符的控制! 比方说只能输入数字,或者只能输入字母。
字段是够超长的控制! 字段不能超过数据库的长度。
数据范围的控制! 比方说 ,开始日期,截至日期的控制, 开始金额和截至金额的控制!
只读性的控制!逻辑处理的模式
传参和出参的问题! 因为是在做项目所以需求变更比较多,如果函数写的不是很好的话,就要通过添加减少函数参数的方式实现! 那么修改一个地方就要修改很多代码,客户端的代码要修改,webserviceh文件要修改,客户端工程的web引用要修改,服务端代码要修改,修改一个小小的函数就要改动这么多文件,实在是一件很烦人的事情!
那么有没有一种好的处理方法,做最小的改动,而能得到功能的最大的提升那! 办法是有的! 下边是我的处理方案! 具体的代码 为下边的 请大家参考!
/// <summary>
/// 获取数据的函数
/// </summary>
/// <param name="ParamDs">传参的dataset</param>
/// <param name="outDs">返回数据的dataset</param>
/// <param name="errMsg">返回的错误信息</param>
/// <returns>函数是否执行成功</returns>
public bool getDATA(DataSet ParamDs, out DataSet outDs, out string errMsg)
{
string gnflag = “功能标志”
//从ParamDs中获取基本参数,其中 GNFLG 代表获取那些数据,就是一个标志!
if(gnflag == “功能标志”)
{
// 获取数据返回前台!
函数功能标志()
}
}
/// <summary>
/// 保存数据到数据库!
/// </summary>
/// <param name="ParamDS">参数</param>
/// <param name="ReturnDS">需要保存的数据</param>
/// <param name="ErrMsg">错误信息</param>
/// <returns>返回结果 0 保存失败! 1 保存成功 2 保存成功但是有提示信息() </returns>
public int SaveDataToDataset(DataSet ParamDS, ref DataSet ReturnDS, out string ErrMsg)
{
ErrMsg = "";
try
{
return 1;
}
catch (Exception err)
{
ErrMsg =err.Message.Trim();
return 0;
}
finally
{
}
}
通过这两个函数客户端和服务端之间进行数据交换! 就是业务发生了比较大的变化,函数需要传递的参数变化比较多,那么只需要在客户端添加参数名,主要在服务端进行修改就可以了!
客户端数据和ui关联的模式
目前的主要的疑问还有一下几个问题
!动态选项的问题; 例如一个选择框的数据是通过另外一个选择框的值而动态变化的,那么这个动态选择框的数据如何获取!
!Dataset and UI 的关联问题,主要解决的问题是 什么时间UI中的数据更新到dataset 中,这个问题需要好好研究一下!
! 如何判断UI数据和初始状态是否改变的问题。
! 数据校验实在前台校验,还是在后台校验问题的标准!