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

}

}

}