Thiết kế lớp

Một phần của tài liệu đồ án công nghệ thông tin Xây dựng module lọc tin cho trình duyệt ĐTDD dùng công nghệ Bluetooth (Trang 77)

Chương 4: Phân tích thiết kế module lọc tin cho điện thoại di động

4.5.Thiết kế lớp

Từ quá trình phân tích thiết kế trên ta thiết kế các lớp cho hệ thống lọc tin như sơ lớp sau:

Mô tả các lớp ST

T

Tên lớp Mô tả

1 WebContent Lớp thực hiện việc lấy và xử lý nội dungtrang Web 2 WebFilter Lớp kế thừa từ lớp WebContent, thực hiệnviệc lọc nội dung cho trang Web

3 VietNamNet

Lớp kế thừa từ lớp WebContent, được thiết kế riêng để xử lý nội dung trang vietnamnet.vn

4 VNExpress

Lớp kế thừa từ lớp WebContent, được thiết kế riêng để xử lý nội dung trang vnexpress.net

5 RSSFeeder Lớp đọc tin RSS

6 HtmlReader Lớp kế thừa từ lớp SgmlReader – thư việnđể đọc và phân tích cú pháp HTML

7 HtmlWriter Lớp kế thừa từ lớp XmlTextWriter của.NET xử lý cú pháp HTML như dạng XML và ghi ra một đối tượng riêng

8 Html2Xhtml Lớp chuyển mã HTML thành XHTML

9 ManageConfig Lớp quản lý cấu hình lọc tin

Bảng 4.7 Mô tả chức năng các lớp trong hệ thống Lớp WebContent

Thành phần Mô tả

Các thuộc tính

protected String url Thuộc tính nhận giá trị URL của trang web đang lọc protected String newsaddr Thuộc tính nhận giá trị domain của trangweb đang lọc protected String newscontent Thuộc tính trả về chuỗi HTML trang web đã được lọc private String[] AdKeyword Thuộc tính danh sách các từ khóa là

quảng cáo trong trang Web

public String AttributeTagRemove() Phương thức lọc thuộc tính của một thẻ HTML xác định

public abstract String ContentFiltered() phương thức abstract trả về mã HTML chứa nội dung trang Web đã được lọc public String GetWebContent() Phương thức lấy nội dung trang Web

dạng thô(chưa xử lý)

public String TagAndContentRemove() Phương thức lọc bỏ toàn bộ thẻ và nội dung chứa trong một thẻ xác định public String TagRemove() Phương thức chỉ lọc bỏ thẻ và giữ lại

phần nội dung chứa trong thẻ

public String TrimContent() Phương thức làm nhiệm vụ trích một phần trong đoạn mã HTML của trang Web

public String AdFilter() Phương thức lọc bỏ quảng cáo trong trang Web

Bảng 4.8 Các thành phần lớp WebContent Lớp VietNamNet, lớp VNExpress và lớp WebFilter:

Là các lớp kế thừa từ lớp WebContent. Lớp VietNamNet để lọc tin cho riêng trang vietnamnet.vn. Lớp VNExpress để lọc tin riêng cho trang vnexpress.net. Lớp WebFilter lọc tin cho chung các trang Web khác.

Việc làm riờng cỏc lớp VietNamNet và VNExpress để giúp quá trình lọc tin cho riêng 2 trang web trên tốt hơn. Những phương thức sau được overloaded trong 3 lớp này:

Thành phần Mô tả

Các phương thức (adsbygoogle = window.adsbygoogle || []).push({});

public abstract String ContentFiltered()

phương thức trả về mã HTML chứa nội dung trang Web đã được lọc, phụ thuộc từng trang có cách lọc nôi dung riêng để đạt hiệu quả tốt nhất

public String TrimContent()

Phương thức làm nhiệm vụ trích một phần trong đoạn mã HTML của trang Web. Phương thức này cũng phụ thuộc từng trang Web, sẽ có cách cắt phần nội dung riêng.

Bảng 4.9 Các thành phần overloaded lớp VietNamNet, VNExpress, WebFilter

Lớp RSSFeeder:

Thành phần Mô tả

Các thuộc tính

private String url Thuộc tính nhận giá trị URL RSS của trang web đang lọc

Các phương thức

public void DisplayRSS() Phương thức hiển thị nội dung RSS

Bảng 4.10 Các thành phần lớp RSSFeeder Lớp HtmlReader:

Kế thừa từ lớp SgmlReader.

• Phương thức HtmlReader.Read(): đọc nội dung HTML thông qua một chuỗi, file, hoặc Stream.

Lớp HtmlWriter:

Kế thừa từ lớp XmlTextWriter. Là lớp phụ trách việc phân tích mã HTML và cung cấp những phương thức chuyển thành mã XHTML.

Thành phần Mô tả

Các thuộc tính

Public String AllowedAttributed Danh sách các thuộc tính của thẻ HTMLđược cho phép(không phải lọc) Public String AllowedTag Danh sách các thẻ được cho phép(không

phải lọc)

Public Bool FilterOutput Biến dạng bool cho phép lọc hay không Public String ReplacementTag Danh sách các thẻ thay thế khi chuyển từ

HTML sang XHTML

Public Bool ReduceConsecutiveSpace Thuộc tính kiểu Bool cho phép bỏ những khoảng trống không cần thiết hay không.

Các phương thức

public override void WriteAttributes() Phương thức để lọc ra những thuộc tínhkhông cần thiết. public override void

WriteStartElement() Lọc những thẻ không được phép public override void WriteString()

Phương thức overloaded. Ghi đoạn mã XHTML đã được lọc lên đối tượng hiện tại.

public override void WriteComment() Ghi comment cần thiết lên đối tượnghiện tại

Bảng 4.11 Các thành phần lớp HtmlWriter Lớp Html2Xhtml:

Lớp có nhiệm vụ chuyển mã HTML thành XHTML, sử dụng lớp HtmlReader và HtmlWriter. (adsbygoogle = window.adsbygoogle || []).push({});

• Phương thức Convert sẽ chuyển mã HTML đưa vào thành mã XHTML dưới dạng chuỗi.

Một phần của tài liệu đồ án công nghệ thông tin Xây dựng module lọc tin cho trình duyệt ĐTDD dùng công nghệ Bluetooth (Trang 77)