Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
1,22 MB
Nội dung
Trường ĐH Sư Phạm Kỹ Thuật TPHCM Khoa Công nghệ thông tin Bộ môn Công nghệ phầnmềmTHIẾTKẾPHẦNMỀMHƯỚNGĐỐITƯỢNGBRIDGEPATTERN GVHD: Nguyễn Trần Thi Văn && BridgeBridge OOP OOP Đặt vấn đề Yêu cầu tô màu red blue cho circle square Circl e Shape Bridge Square && BridgeBridge OOP OOP Bố cục Tổng quan Cấu trúc Tính chất Hệ quả, lĩnh vực áp dụng Ưu điểm, khuyết điểm Các mẫu liên quan Demo && BridgeBridge OOP OOP Tổng quan Định nghĩa: Mẫu Bridge mẫu thiếtkếhướngđốitượng thuộc loại Structural Patterns, sử dụng với tần suất trung bình Mục đích : Phần ảo OO P Chứa Kế thừa Phần thực thi // Định nghĩa chức Bridge // Thực thi chức && BridgeBridge OOP OOP Tổng quan Định nghĩa: Mẫu Bridge mẫu thiếtkếhướngđốitượng thuộc loại Structural Patterns, sử dụng với tần suất trung bình Mục đích : Tách rời phần ảo phần thực thi riêng biệt Dễ dàng thay đổiphần cách độc lập linh động Che giấu chi tiết phần thực thi client && BridgeBridge OOP OOP Cấu trúc Các lớp/đối tượng tham gia Abstraction Implementation RefineAbstraction Concretelmplement && BridgeBridge OOP OOP Cấu trúc Các lớp/đối tượng tham gia Abstraction Implementation RefineAbstraction Concretelmplement Abstraction: lớp trừu tượng khai báo chức cấu trúc bản, lớp có thuộc tính thể giao tiếp Implementation && BridgeBridge OOP OOP Cấu trúc Các lớp/đối tượng tham gia Abstraction Implementation RefineAbstraction Concretelmplement Implementation : giao tiếp thực thi lớp chức Abstraction && BridgeBridge OOP OOP Cấu trúc Các lớp/đối tượng tham gia Abstraction Implementation RefineAbstraction Concretelmplement RefineAbstraction: định nghĩa chức chức có Abstraction && BridgeBridge OOP OOP Cấu trúc Các lớp/đối tượng tham gia Abstraction Implementation RefineAbstraction Concretelmplement ConcreteImplement: lớp định nghĩa tường minh thực thi lớp giao tiếp Implementation 10 && BridgeBridge OOP OOP Cấu trúc Implementation Abstraction extends extends RefineAbstraction implements implements Concretelmplement 11 && BridgeBridge OOP OOP Cấu trúc Shape redCircle = new Circle(new Red()); redCircle.draw(); Abstraction extends extends RefineAbstraction Implementation implements implements Concretelmplement 12 && BridgeBridge OOP OOP Tính chất Tách rời phần xử lý (giải thuật) với phần chủ thể (nơi thực thi giải thuật đó) Có thể nâng cấp theo phần, triển khai theo cặp Có lớp RefinedAbstraction mở rộng giao diện định nghĩa Abstraction Mỗi giao diện thực thi thực thi lại giao diện định nghĩa cụ thể 13 && BridgeBridge OOP OOP Hệ Tách phần giao diện đốitượng Cải thiện khả mở rộng Ẩn thông tin với đốitượng Client OOP 14 && BridgeBridge OOP OOP Lĩnh vực áp dụng Ẩn chi tiết với đốitượng “Client” (Việc thay đổi thực thi khơng ảnh hưởng đến client.) Thực thi thay đổi thời gian thực thi thời gian thiếtkế Muốn có nhiều lớp với nhiều thực thi từ phần ảo Việc mở rộng phần thực phần ảo thực với lớp Muốn chia sẻ thực thi nhiều đốitượng chi tiết giao diện ẩn với đốitượng OOP 15 && BridgeBridge OOP OOP Ưu & nhược điểm Ưu điểm: Giảm phụ thuộc abstraction implementation Giảm số lượng lớp không cần thiết Code gọn giảm kích thước phần thực thi Giao diện thực thi thay đổi cách độc lập Cải thiện khả mở rộng OOP 16 && BridgeBridge OOP OOP Ưu & nhược điểm Nhược điểm: Tăng độ phức tạp Số lần gọi gián tiếp tăng gấp đôi Ảnh hưởng đến hiệu suất chương trình OOP 17 && BridgeBridge OOP OOP Các mẫu liên quan Abstract Factory: Một Abstract Factory tạo cấu hình mẫu Bridge cụ thể Adapter: Mẫu Adapter hướng tới kết hợp lớp không liên quan để chúng làm việc với Còn Bridge cho phép phần trừu tượng (phần ảo) phần thực thi độc lập với cách tạo cầu nối hai thứ OOP 18 && BridgeBridge OOP OOP Demo OOP 19 && BridgeBridge OOP OOP Tài liệu tham khảo BridgePattern Java, Yuen’s Blog, https://yuen26.github.io/general/designpattern/2017-06-1 1-bridge-pattern/ Bridge pattern, VOER, http://voer.edu.vn/m/bridge-pattern/b48dcaae Design Pattern – Bridge, Nixforest, https://nixforest.wordpress.com/2010/11/22/design-patter n-bridge/ OOP 20 && BridgeBridge OOP OOP OOP 21 ... && Bridge Bridge OOP OOP Tổng quan Định nghĩa: Mẫu Bridge mẫu thiết kế hướng đối tượng thuộc loại Structural Patterns, sử dụng với tần suất trung bình Mục đích : Phần ảo OO P Chứa Kế thừa Phần. .. && Bridge Bridge OOP OOP Hệ Tách phần giao diện đối tượng Cải thiện khả mở rộng Ẩn thông tin với đối tượng Client OOP 14 && Bridge Bridge OOP OOP Lĩnh vực áp dụng Ẩn chi tiết với đối tượng. .. Phần thực thi // Định nghĩa chức Bridge // Thực thi chức && Bridge Bridge OOP OOP Tổng quan Định nghĩa: Mẫu Bridge mẫu thiết kế hướng đối tượng thuộc loại Structural Patterns, sử dụng với tần suất