继续昨天没完成的设计,今天想了下,昨天的设计还是需要修改。
1、CLinkAddress 链接地址 实体类 添加是否已经获取页面链接属性
2、CGetLinkRule类得到页面地址,需要添加查询规则列表属性
3、有的页面地址,相对的需要保存页面地址的类和读取地址的类,所以把保存和读取页面地址类合并成一个,暂时叫CLinkDataRule
具体设计如下
1、CLinkAddress

/**//**********************************************
* 程序员: 郑永丹
* 修改日期: 2007-11-06
* 程序内容:
* 链接地址 实体类
*
*
*
* **********************************************/
using System;
using System.Collections.Generic;
using System.Text;
namespace SiteSQLCheck.Model
...{
/**//// <summary>
/// 链接地址 实体类
/// </summary>
public class CLinkAddress
...{
/**//// <summary>
/// 构造函数
/// </summary>
public CLinkAddress()
...{ }

/**//// <summary>
/// 构造函数
/// </summary>
/// <param name="lAddress">链接地址</param>
public CLinkAddress(string lAddress)
...{
this._LinkAddress = lAddress;
}
private string _LinkAddress = ""; //链接地址
/**//// <summary>
/// 链接地址
/// </summary>
public string LinkAddress
...{
get ...{ return _LinkAddress; }
set ...{ _LinkAddress = value; }
}
private GetChildLinkStatus _IsGetChildLink = GetChildLinkStatus.NotGet; //是否得到下级链接状态
/**//// <summary>
/// 设置为已经得到链接
/// </summary>
public void SetIsGetChildLink()
...{
this._IsGetChildLink = GetChildLinkStatus.IsGet; //设置为已经得到链接
}
}
/**//// <summary>
/// 是否得到下级链接状态
/// </summary>
public enum GetChildLinkStatus...{IsGet,NotGet};
}
2、CGetLinkRule

/**//**********************************************
* 程序员: 郑永丹
* 修改日期: 2007-11-06
* 程序内容:
* 操作页面地址 操作类
*
*
*
* **********************************************/
using System;
using System.Collections.Generic;
using System.Text;
using SiteSQLCheck.Model;
namespace SiteSQLCheck.Rule
...{
/**//// <summary>
/// 获取规则类
/// </summary>
public class CChildLinkRule
...{
private string _ruleString = ""; //正则数据保存
/**//// <summary>
/// 正则数据保存
/// </summary>
public string RuleString
...{
get ...{ return _ruleString; }
set ...{ _ruleString = value; }
}
}

/**//// <summary>
/// 操作页面地址 操作类
/// </summary>
public class CGetLinkRule
...{
/**//// <summary>
/// 得到当前页面地址
/// </summary>
/// <param name="pageUrl">页面地址</param>
/// <returns>页面包含的地址列表</returns>
public List<CLinkAddress> GetLinkInPage(string pageUrl)
...{
return new List<CLinkAddress>();
}
private List<CChildLinkRule> _RuleList = new List<CChildLinkRule>();
/**//// <summary>
/// 规则列表
/// </summary>
public List<CChildLinkRule> RuleList
...{
get ...{ return _RuleList; }
set ...{ _RuleList = value; }
}
}
}
3、

/**//**********************************************
* 程序员: 郑永丹
* 修改日期: 2007-11-07
* 程序内容:
* 链接数据保存操作类
*
*
*
* **********************************************/
using System;
using System.Collections.Generic;
using System.Text;
using SiteSQLCheck.Model ;
namespace SiteSQLCheck.Rule
...{
/**//// <summary>
/// 链接数据保存操作类
/// </summary>
public static class CLinkDataRule
...{
/**//// <summary>
/// 添加链接数据
/// </summary>
/// <param name="linkAddress">链接数据</param>
/// <returns>true表示成功,false表示失败</returns>
public static bool AddLink(CLinkAddress linkAddress)
...{
return false;
}

/**//// <summary>
/// 得到未取得子链接的可用链接数据
/// </summary>
/// <returns>可用链接数据</returns>
public static CLinkAddress GetLink()
...{
return new CLinkAddress();
}
}
}
设计过程总是会修修改改的,并不是一条直线的,或许过两天,我们又会回来修改这几个类了。

本文介绍了一种链接爬取及管理的设计方案,包括链接地址实体类CLinkAddress、获取规则类CGetLinkRule以及链接数据保存操作类CLinkDataRule的具体实现。
1404

被折叠的 条评论
为什么被折叠?



