07年 oo学习总结:一、系统软件架构-变化的应对

 

在开发的过程中系统甚至数据结构有变化是正常的,我们可以减少,却不能避免,整理给出我们的简单的方法。

1.3 变化的应对之一:附加的操作方法

在项目的实际需求中往往还需要更进一步的操作。例如根据某一个不是主键的字段进行查询。这时需要采用sql语句的形式(采用存储过程也可以,推荐SQL方式,好调试)。

下边举例增加一个对某一个字段的查询:

方法一:构建新的方法

需要一个方法来对某一个字段进行查询,该字段不是主键:

1、首先在常量部分增加一个SQL字符串。

        //根据户编码,

        private const string SELECT_ONE_SQL_bypisfield199 = "SELECT * FROM JQ0 WHERE pisfield199=";

2、然后增加新方法

        /// <summary>

        /// 根据户编码返回记录

        /// </summary>

        /// <param name="wISFIELD000"></param>

        /// <returns>an item</returns>

        public IList<JQ0Entity> GetJQ0byPISFIELD199(string PISFIELD199)

        {

            string querystring = SELECT_ONE_SQL_bypisfield199;

            querystring += "'" + PISFIELD199 + "'";

            return GetJQ0sbyQueryString(querystring);

        }

3、依次在IDALBLL中添加该方法的即可。

方法二:直接传入查询字符串

如果只是简单查询的话也可以不增加新的方法,直接调用方法即可。

GetLDJQ0sbyQueryString(string sqlstr)

说明:

具体采用那种方法,根据要进行的任务的复杂程度,如果操作比较多例如还要进行判断,比较等操作,一条语句无法完成的操作就可以增加新的方法。

1.4变化的应对之二:字段的变化

在开发的过程中,数据表的字段可能会发生变化,增加字段,改变长度,类型等。那么对应的MODELDAL层需要重新生成。对应的BLLIDAL也可能需要生成。这样在开发的过程中增加的方法,就会被冲掉,需要重新拷贝回来。或者采取partial class分布类的方式。partial 类型可以使我们把对某个类的描述写在不同地方,甚至写到两个或多个不同的文件中去。partial 信息只对编译器有用,编译器在编译时看到对某个类的描述是的(partial 的),它会去其他地方收集该类的其他碎片,然后把所有的该类的碎片组合成完整的一个类,再对其编译。

我们在BLLIDALDAL中将所有的生成类分成2个文件,一个文件是原有的模板对应的文件,称为基本文件。另一个是附加文件。如图

 


基本文件生成后不再更改,而后来的变化都在附加文件中进行,当数据表结构变化时,重新生成基本文件即可。如图:

 



说明:附加文件中的新增方法。

那么新的DAL层结构示意图如下:

 


默认的
DAL***ADD.cs文件只有一个空白的partial class结构,等待在开发的过程中补充新的方法。

posted on 2009-09-21 17:15  黄金年代  阅读(205)  评论(0)    收藏  举报