Mẫu AbstractFactory

Một phần của tài liệu nghiên cứu mẫu thiết kế hướng đối tượng áp dụng xây dựng ứng dụng hỗ trợ rút trích thông tin từ web (Trang 38 - 39)

Khi sử dụng ứng dụng rút trích thông tin từ các trang web Nn với nội dung động, công việc phân loại các trang web Nn đó thuộc một chủ đề nào đó là vô cùng cần thiết. Với mỗi chủ đề, chúng ta có thể xác định được các thuộc tính chung ứng với chủ đề đó. Từ đó có thể xây dựng được các câu truy vấn tương ứng với các trang web Nn nội dung động một cách phù hợp nhất. N goài ra, việc phân loại thành từng chủ đề cũng rõ ràng hơn cho người dùng nhập hay chọn lựa các tiêu chí để hệ thống tiến hành rút trích thông tin

Ứng với mỗi chủ đề, hệ thống phải có giao diện ứng với các thuộc tính chung của chủ đề đó. Sau khi nhận các yêu cầu của nguời dùng, hệ thống sẽ tạo ra các câu truy vấn ứng với từng trang web Nn, gửi yêu cầu, nhận kết quả và tiến hành rút trích thông tin từ kết quả trả về đó.

Ở đây, chúng tôi sử dụng mẫu Abstract Factory để xây dựng quá trình trên. Mỗi khi người dùng có nhu cầu rút trích thông tin một chủ đề nào đó, chỉ cần thay đổi điều kiện tạo lập factory, sẽ có một factory tương ứng với chủ đề đó. Khi đó sẽ phát sinh một nhóm các “sản phNm” tương ứng với chủ đề đó. Mỗi “sản phNm” sẽ tiến hành một công việc có liên quan đến chủ đề đó

Chúng tôi mô tả tổng quan về mẫu Abstract Factory trước khi trình bày phần cài đặt mẫu này trong mục 5.3.2

Ý nghĩa: Abstract Factory [5] cung cấp một giao diện có chức năng tạo ra một tập hợp các đối tượng liên quan hoặc phụ thuộc lẫn nhau mà không chỉ ra đó là những lớp cụ thể nào tại thời điểm thiết kế.

• Một hệ thống cần phải không phụ thuộc vào việc những sản phNm được tạo ra như thế nào.

• Một hệ thống cần được cấu hình với một hoặc nhiều họ sản phNm.

• Các đối tượng cần phải được tạo ra như một tập hợp để có thể tương thích với nhau

• Chúng ta muốn cung cấp một tập các lớp và chúng ta muốn thể hiện các ràng buộc, các mối quan hệ giữa chúng mà không phải là các thực thi của chúng.

Cấu trúc:

Hình 4-7: Mẫu Abstract Factory

Mô tả các thành phần trong hình 4-7 như sau:

• AbstractFactory: định nghĩa một giao tiếp cho thao tác khởi tạo các đối tượng sản phNm.

• ConcreteFactory: cài đặt thao tác để tạo ra đối tượng cụ thể.

• AbstractProduct: định nghĩa một giao diện cho một loại đối tương sản phNm. • ConcreteProduct: kế thừa từ từ lớp "sản phNm" ảo AbstractProduct, các lớp

Product định nghĩa từ đối tượng cụ thể

Một phần của tài liệu nghiên cứu mẫu thiết kế hướng đối tượng áp dụng xây dựng ứng dụng hỗ trợ rút trích thông tin từ web (Trang 38 - 39)