프로그래밍 기술/웹 검색 엔진 만들기

4. 2 PostedUrl (수집한 사이트)클래스 구현

언제나휴일 2017. 12. 6. 09:37
반응형

4. 2 PostedUrl (수집한 사이트)클래스 구현


 

 수집한 웹 페이지 정보를 표현할 PostedUrl 클래스를 추가하세요.

 

 웹 로봇에 의해 수집한 웹 페이지는 DBM ForAll을 통해 수집한 정보를 DBMS에 저장 요청을 합니다. 이 때 사용할 형식이 PostedUrl입니다.

 

 StorePostedUrl 시퀀스 다이어그램을 보면 PostedUrl 형식에는 수집한 페이지 주소와 요청한 페이지 주소, 페이지의 내용, Seed 사이트에서의 상대적 깊이, 수집한 DateTime과 페이지 제목이 필요하다는 것을 알 수 있습니다. 이와 같은 멤버를 갖는 PostedUrl 클래스를 작성합시다.

 

 클래스의 노출 수준을 public으로 지정하고 Serializable 특성을 지정합니다.

[Serializable]

public class PostedUrl

{

}

 

 필요한 멤버 속성을 추가합니다. 여기에서는 접근 지정을 public으로 설정하고 가져오기와 설정하기를 제공하세요.

 

 그리고 기본 생성자와 각 정보를 입력 인자로 받는 생성자를 추가하고 ToString 메서드를 재정의하세요. ToString 메서드에서는 페이지 제목을 반환하게 합시다.

 

 마지막으로 각 멤버에 세 줄 주석을 작성하고 빌드해 보세요.

 

PostedUrl.cs

using System;

 

namespace WSE_Core

{

    /// <summary>

    /// 수집한  페이지

    /// </summary>

    [Serializable]

    public class PostedUrl

    {

        /// <summary>

        /// 수집한  페이지 주소

        /// 가져오기  설정하기

        /// </summary>

        public string Url

        {

            get;

            set;

        }

 

        /// <summary>

        /// 수집 요청한 원래 주소

        /// 가져오기  설정하기

        /// </summary>

        public string OriginUrl

        {

            get;

            set;

        }

 

        /// <summary>

        /// 페이지 제목

        /// 가져오기  설정하기

        /// </summary>

        public string Title

        {

            get;

            set;

        }

 

        /// <summary>

        /// 페이지 내용

        /// 가져오기  설정하기

        /// </summary>

        public string Content

        {

            get;

            set;

        }

 

        /// <summary>

        /// Seed 사이트에서 상대적 깊이

        /// 가져오기  설정하기

        /// </summary>

        public int Depth

        {

            get;

            set;

        }

 

 

        /// <summary>

        /// 수집한 DateTime

        /// 가져오기  설정하기

        /// </summary>

        public DateTime PostedTime

        {

            get;

            set;

        }

 

        /// <summary>

        /// 기본 생성자

        /// </summary>

        public PostedUrl()

        {

            Url = string.Empty;

            OriginUrl = string.Empty;

            Title = string.Empty;

            Content = string.Empty;

            Depth = 0;

            PostedTime = new DateTime(0);

        }

 

        /// <summary>

        /// 생성자

        /// </summary>

        /// <param name="url">수집한 페이지 주소</param>

        /// <param name="originurl">수집 요청한 원래 주소</param>

        /// <param name="title">페이지 제목</param>

        /// <param name="content">페이지 내용</param>

        /// <param name="depth">Seed 사이트에서 상대적 깊이</param>

        /// <param name="postedtime">수집한 DateTime</param>

        public PostedUrl(string url,string originurl,

            string title,string content,int depth,DateTime postedtime)

        {

            Url = url;

            OriginUrl = originurl;

            Title = title;

            Content = content;

            Depth = depth;

            PostedTime = postedtime;

        }

        /// <summary>

        /// ToString 재정의

        /// </summary>

        /// <returns>페이지 제목</returns>

        public override string ToString()

        {

            return Title;

        }

    }

}

 

반응형