從項目中看,最穩定的包應該是頁面鏈接隊列包,所以我們從最穩定的地方開始設計,首先我們需要一個鏈接的實體類,我把他拆分為兩個類
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>();
}
}
}