从项目中看,最稳定的包应该是页面链接队列包,所以我们从最稳定的地方开始设计,首先我们需要一个链接的实体类,我把他拆分为两个类
1、 CLinkAddress 链接地址 实体类 用于记录地址信息的,也是待查地址信息的数据存储的地方
2、CLinkAddressDetail 链接地址详细信息 实体类 继承于CLinkAddress ,新增加文件建立时间,文件访问状态,文件引用地址
再一个,我们这个包里最重要的是得到页面地址,所以我们需要建立一个CGetLinkRule类来操作页面地址,这个类里面也就暂时先定义一个方法 GetLinkInPage 来得到页面的地址,明天再细化这个类
下面给出上面三个类的定义代码,我把实体类先写了,后面页面地址操作类只是有个定义

/**//**********************************************
* 程序员: 郑永丹
* 修改日期: 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; }
}
}
}

/**//**********************************************
* 程序员: 郑永丹
* 修改日期: 2007-11-06
* 程序内容:
* 链接地址详细信息 实体类
*
*
*
* **********************************************/
using System;
using System.Collections.Generic;
using System.Text;
namespace SiteSQLCheck.Model
...{
/**//// <summary>
/// 链接地址详细信息 实体类
/// </summary>
public class CLinkAddressDetail : CLinkAddress
...{
/**//// <summary>
/// 构造函数
/// </summary>
public CLinkAddressDetail()
...{ }
private DateTime _FileTime = DateTime.Parse("1999-1-1");//链接创建时间
/**//// <summary>
/// 链接创建时间
/// </summary>
public DateTime FileTime
...{
get ...{ return _FileTime; }
set ...{ _FileTime = value; }
}
private string _RefLinkAddress = "";//引用地址,也是上一级地址
/**//// <summary>
/// 引用地址,也是上一级地址
/// </summary>
public string RefLinkAddress
...{
get ...{ return _RefLinkAddress; }
set ...{ _RefLinkAddress = value; }
}


private AddressCheckStatus _CheckStatus = AddressCheckStatus.UnCheck; //链接检查状态
/**//// <summary>
/// 链接检查状态
/// </summary>
public AddressCheckStatus CheckStatus
...{
get ...{ return _CheckStatus; }
}

/**//// <summary>
/// 设置为无注入链接
/// </summary>
public void SetIsOkLink()
...{
this._CheckStatus = AddressCheckStatus.IsOkLink;
}

/**//// <summary>
/// 设置为有注入链接
/// </summary>
public void SetIsBadLink()
...{
this._CheckStatus = AddressCheckStatus.IsBadLink;
}
}

public enum AddressCheckStatus ...{ UnCheck,IsOkLink,IsBadLink};
}

/**//**********************************************
* 程序员: 郑永丹
* 修改日期: 2007-11-06
* 程序内容:
* 操作页面地址 操作类
*
*
*
* **********************************************/
using System;
using System.Collections.Generic;
using System.Text;
using SiteSQLCheck.Model ;
namespace SiteSQLCheck.Rule
...{
/**//// <summary>
/// 操作页面地址 操作类
/// </summary>
public class CGetLinkRule
...{
/**//// <summary>
/// 得到当前页面地址
/// </summary>
/// <param name="pageUrl">页面地址</param>
/// <returns>页面包含的地址列表</returns>
public List<CLinkAddress> GetLinkInPage(string pageUrl)
...{
return new List<CLinkAddress>();
}
}
}

本文介绍了一种页面链接管理方案的设计思路,包括链接地址实体类CLinkAddress与详细信息类CLinkAddressDetail的定义,以及操作页面地址的CGetLinkRule类初步实现。
1423

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



