Bài giảng môn Phân tích & thiết kế phần mềm hướng đối tượng: Chương 6 - TS. Nguyễn Văn Hiệp
Số trang: 43
Loại file: pdf
Dung lượng: 228.40 KB
Lượt xem: 11
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Phân tích & thiết kế phần mềm hướng đối tượng - Chương 6: Các mẫu thiết kế che dấu hành vi, thuật giải trong đối tượng (Behavioral Patterns)" cung cấp cho người học các kiến thức: Tổng quát về nhóm mẫu “Behavioral Patterns”, mẫu Chain of Responsibility, mẫu Template Method, mẫu Strategy, mẫu State,... Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng môn Phân tích & thiết kế phần mềm hướng đối tượng: Chương 6 - TS. Nguyễn Văn Hiệp Chương 6 Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượng (Behavioral Patterns) 6.1 Tổng quát về nhóm mẫu “Behavioral Patterns” 6.2 Mẫu Chain of Responsibility 6.3 Mẫu Template Method 6.4 Mẫu Strategy 6.5 Mẫu State 6.6 Mẫu Command 6.7 Mẫu Observer 6.8 Kết chương Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Phân tích & thiết kế phần mềm hướng ₫ối tượng Chương 6 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượng Slide 1 6.1 Tổng quát về nhóm mẫu “Behavioral Patterns” Trong ₫oạn code giải quyết vấn ₫ề của ứng dụng, khi cần phải chọn lựa 1 trong nhiều thuật giải/hành vi khác nhau thì ta thường dùng phát biểu if/switch như sau : switch (acode) { case ALG1 : //₫oạn code miêu tả thuật giải/hành vi 1 case ALG2 : //₫oạn code miêu tả thuật giải/hành vi 2 ... case ALGn : //₫oạn code miêu tả thuật giải/hành vi n } Đoạn code trên có nhiều khuyết ₫iểm như : phu thuộc hoàn toàn vào số lượng thuật giải/hành vi, vào chi tiết cụ thể của từng thuật giải/hành vi, phải hiệu chỉnh khi số lượng/chi tiết của thuật giải/hành vi bị thay ₫ổi. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Phân tích & thiết kế phần mềm hướng ₫ối tượng Chương 6 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượng Slide 2 6.1 Tổng quát về nhóm mẫu “Behavioral Patterns” Để khắc phục các nhược ₫iểm của cách lập trình cổ ₫iển trong slide trước, cách tốt nhất là dùng 1 trong các mẫu thuộc nhóm Behavioral Patterns. Nhiệm vụ của các mẫu thuộc nhóm Behavioral Patterns là che dấu các ₫oạn code miêu tả thuật giải/hành vi vào trong các ₫ối tượng, code của client chỉ giữ tham khảo ₫ến ₫ối tượng và gởi thông ₫iệp nhờ ₫ối tượng thực hiện thuật giải/hành vi cụ thể khi cần thiết. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Phân tích & thiết kế phần mềm hướng ₫ối tượng Chương 6 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượng Slide 3 6.2 Mẫu Chain of Responsibility Mục tiêu : Mẫu dây chuyền trách nhiệm (Chain of Responsibility) giúp tránh ₫ược việc gắn kết cứng giữa phần tử gởi request (Client) với phần tử nhận và xử lý request (Server) bằng cách cho phép hơn 1 ₫ối tượng có cơ hội xử lý request ₫ó. Các ₫ối tượng nhận và xử lý request sẽ ₫ược liên kết lại thành 1 dây chuyền, Client sẽ tham khảo ₫ến ₫ầu dây chuyền này ₫ể gởi request khi có yêu cầu. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Phân tích & thiết kế phần mềm hướng ₫ối tượng Chương 6 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượng Slide 4 6.2 Mẫu Chain of Responsibility Thí dụ về việc dùng mẫu Chain of Responsibility : Trong ứng dụng có trợ giúp theo ngữ cảnh thì user có thể xem thông tin trợ giúp của 1 phần tử giao diện nào ₫ó trực tiếp từ phần tử ₫ó bằng cách ấn phải chuột vào nó. Lưu ý là các ₫ối tượng giao diện thường ₫ược tổ chức theo dạng cây thứ bậc : 1 chương trình có nhiều cửa sổ giao diện, mỗi cửa sổ giao diện chứa nhiều ₫ối tượng giao diện, mỗi ₫ối tượng giao diện có thể là group chứa nhiều ₫ối tượng giao diện con... Tóm lại số lượng các ₫ối tượng giao diện ₫ơn (không chứa ₫ối tượng khác nữa) của chương trình thường rất lớn, chi phí hiện thực tất cả sự trợ giúp cho tất cả các ₫ối tượng ₫ơn này sẽ rất lớn, do ₫ó thường sẽ ₫ược hiện thực từ từ thông qua nhiều version mới ₫ạt ₫ược sự hoàn chỉnh. Tuy nhiên, dưới góc nhìn user, ngay cả version ₫ầu tiên, chương trình cũng phải ₫áp ứng tốt mọi yêu cầu trợ giúp theo ngữ cảnh trên mọi ₫ối tượng giao diện. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Phân tích & thiết kế phần mềm hướng ₫ối tượng Chương 6 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượng Slide 5
Nội dung trích xuất từ tài liệu:
Bài giảng môn Phân tích & thiết kế phần mềm hướng đối tượng: Chương 6 - TS. Nguyễn Văn Hiệp Chương 6 Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượng (Behavioral Patterns) 6.1 Tổng quát về nhóm mẫu “Behavioral Patterns” 6.2 Mẫu Chain of Responsibility 6.3 Mẫu Template Method 6.4 Mẫu Strategy 6.5 Mẫu State 6.6 Mẫu Command 6.7 Mẫu Observer 6.8 Kết chương Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Phân tích & thiết kế phần mềm hướng ₫ối tượng Chương 6 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượng Slide 1 6.1 Tổng quát về nhóm mẫu “Behavioral Patterns” Trong ₫oạn code giải quyết vấn ₫ề của ứng dụng, khi cần phải chọn lựa 1 trong nhiều thuật giải/hành vi khác nhau thì ta thường dùng phát biểu if/switch như sau : switch (acode) { case ALG1 : //₫oạn code miêu tả thuật giải/hành vi 1 case ALG2 : //₫oạn code miêu tả thuật giải/hành vi 2 ... case ALGn : //₫oạn code miêu tả thuật giải/hành vi n } Đoạn code trên có nhiều khuyết ₫iểm như : phu thuộc hoàn toàn vào số lượng thuật giải/hành vi, vào chi tiết cụ thể của từng thuật giải/hành vi, phải hiệu chỉnh khi số lượng/chi tiết của thuật giải/hành vi bị thay ₫ổi. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Phân tích & thiết kế phần mềm hướng ₫ối tượng Chương 6 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượng Slide 2 6.1 Tổng quát về nhóm mẫu “Behavioral Patterns” Để khắc phục các nhược ₫iểm của cách lập trình cổ ₫iển trong slide trước, cách tốt nhất là dùng 1 trong các mẫu thuộc nhóm Behavioral Patterns. Nhiệm vụ của các mẫu thuộc nhóm Behavioral Patterns là che dấu các ₫oạn code miêu tả thuật giải/hành vi vào trong các ₫ối tượng, code của client chỉ giữ tham khảo ₫ến ₫ối tượng và gởi thông ₫iệp nhờ ₫ối tượng thực hiện thuật giải/hành vi cụ thể khi cần thiết. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Phân tích & thiết kế phần mềm hướng ₫ối tượng Chương 6 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượng Slide 3 6.2 Mẫu Chain of Responsibility Mục tiêu : Mẫu dây chuyền trách nhiệm (Chain of Responsibility) giúp tránh ₫ược việc gắn kết cứng giữa phần tử gởi request (Client) với phần tử nhận và xử lý request (Server) bằng cách cho phép hơn 1 ₫ối tượng có cơ hội xử lý request ₫ó. Các ₫ối tượng nhận và xử lý request sẽ ₫ược liên kết lại thành 1 dây chuyền, Client sẽ tham khảo ₫ến ₫ầu dây chuyền này ₫ể gởi request khi có yêu cầu. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Phân tích & thiết kế phần mềm hướng ₫ối tượng Chương 6 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượng Slide 4 6.2 Mẫu Chain of Responsibility Thí dụ về việc dùng mẫu Chain of Responsibility : Trong ứng dụng có trợ giúp theo ngữ cảnh thì user có thể xem thông tin trợ giúp của 1 phần tử giao diện nào ₫ó trực tiếp từ phần tử ₫ó bằng cách ấn phải chuột vào nó. Lưu ý là các ₫ối tượng giao diện thường ₫ược tổ chức theo dạng cây thứ bậc : 1 chương trình có nhiều cửa sổ giao diện, mỗi cửa sổ giao diện chứa nhiều ₫ối tượng giao diện, mỗi ₫ối tượng giao diện có thể là group chứa nhiều ₫ối tượng giao diện con... Tóm lại số lượng các ₫ối tượng giao diện ₫ơn (không chứa ₫ối tượng khác nữa) của chương trình thường rất lớn, chi phí hiện thực tất cả sự trợ giúp cho tất cả các ₫ối tượng ₫ơn này sẽ rất lớn, do ₫ó thường sẽ ₫ược hiện thực từ từ thông qua nhiều version mới ₫ạt ₫ược sự hoàn chỉnh. Tuy nhiên, dưới góc nhìn user, ngay cả version ₫ầu tiên, chương trình cũng phải ₫áp ứng tốt mọi yêu cầu trợ giúp theo ngữ cảnh trên mọi ₫ối tượng giao diện. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Phân tích & thiết kế phần mềm hướng ₫ối tượng Chương 6 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượng Slide 5
Tìm kiếm theo từ khóa liên quan:
Phân tích phần mềm hướng đối tượng Phần mềm hướng đối tượng Thiết kế phần mềm hướng đối tượng Thiết kế phần mềm Thiết kế che dấu hành vi Behavioral PatternsGợi ý tài liệu liên quan:
-
Giáo trình tóm tắt Công nghệ phần mềm
149 trang 157 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 1 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
64 trang 149 0 0 -
Đề cương môn học Phân tích thiết kế phần mềm
143 trang 142 0 0 -
Đồ án tốt nghiệp - Phân tích thiết kế hệ thống - Quản lý hồ sơ bệnh án của 1 khoa
20 trang 136 0 0 -
Đồ án tốt nghiệp - Phân tích thiết kế hệ thống - Phần mềm Quản lý kết hôn
17 trang 131 0 0 -
Đồ án tốt nghiệp - Phân tích thiết kế hệ thống - QUẢN LÝ SỐ SÁCH CÔNG TY CỔ PHẦN VẬN TẢI HÀ TIÊN
106 trang 88 0 0 -
Đồ án tốt nghiệp - Phân tích thiết kế hệ thống - HỆ THỐNG HOẠT ĐỘNG CỦA MỘT CÔNG TY PHÁT HÀNH SÁCH
36 trang 84 0 0 -
42 trang 51 2 0
-
Bài giảng Công nghệ phần mềm: Giới thiệu môn học - PGS. TS. Phạm Ngọc Hùng
13 trang 45 0 0 -
Tiểu luận Kiến trúc và thiết kế phần mềm: Khảo sát các trang thương mại điện tử
48 trang 40 0 0