Danh mục

Bài giảng Nhập môn công nghệ phần mềm: Chương 11 - TS. Nguyễn Văn Hiệp

Số trang: 22      Loại file: pdf      Dung lượng: 245.33 KB      Lượt xem: 13      Lượt tải: 0    
Thư viện của tui

Phí tải xuống: 18,000 VND Tải xuống file đầy đủ (22 trang) 0
Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng "Các mẫu thiết kế che dấu hành vi, thuật giải trong đối tượng" 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ẫu command, mẫu observer.
Nội dung trích xuất từ tài liệu:
Bài giảng Nhập môn công nghệ phần mềm: Chương 11 - TS. Nguyễn Văn HiệpChương 11Các mẫu thiết kế che dấu hành vi, thuật giảitrong ₫ối tượng (Behavioral Patterns)11.1 Tổng quát về nhóm mẫu “Behavioral Patterns”11.2 Mẫu Chain of Responsibility11.3 Mẫu Template Method11.4 Mẫu Strategy11.5 Mẫu State11.6 Mẫu Command11.7 Mẫu Observer11.8 Kết chươngKhoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Nhập môn Công nghệ phần mềmChương 11 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượngSlide 111.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ảichọn lựa 1 trong nhiều thuật giải/hành vi khác nhau thì ta thườngdù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 1case 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ư : ohu5 thuộc hoàn toànvào số lượng thuật giải/hành vi, vào chi tiết cụ thể của từng thuậtgiải/hành vi, phải hiệu chỉnh khi số lượng/chi tiết của thuậtgiải/hành vi bị thay ₫ổi.Khoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Nhập môn Công nghệ phần mềmChương 11 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượngSlide 211.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 trongslide 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 “” là che dấu các ₫oạn codemiêu tả thuật giải/hành vi vào trong các ₫ối tượng, code của clientchỉ giữ tham khảo ₫ến ₫ối tượng và gởi thông ₫iệp nhờ ₫ối tượngthự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ínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Nhập môn Công nghệ phần mềmChương 11 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượngSlide 311.2 Mẫu Chain of ResponsibilityMục tiêu :ƒMẫu dây chuyền trách nhiệm (Chain of Responsibility) giúptrá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éphơn 1 ₫ối tượng có cơ hội xử lý request ₫ó. Các ₫ối tượng nhậnvà xử lý request sẽ ₫ược liên kết lại thành 1 dây chuyền, Clientsẽ 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ínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Nhập môn Công nghệ phần mềmChương 11 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượngSlide 411.2 Mẫu Chain of ResponsibilityThí 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ể xemthô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 giaodiệ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ượnggiao diện, mỗi ₫ối tượng giao diện có thể là group chứa nhiều ₫ốitượ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àysẽ rất lớn, do ₫ó thường sẽ ₫ược hiện thực từ từ thông qua nhiềuversion 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ọiyê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ínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Nhập môn Công nghệ phần mềmChương 11 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượngSlide 511.2 Mẫu Chain of ResponsibilityCách tốt nhất ₫ể giảiquyết vần ₫ề trên làdùng mẫu Chain ofResponsibility với lược₫ồ class như sau :Khoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Nhập môn Công nghệ phần mềmChương 11 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượngSlide 611.2 Mẫu Chain of ResponsibilityLược ₫ồ ₫ối tượng liên quan ₫ến 1 button nào ₫ó có dạng như sau :Khoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Nhập môn Công nghệ phần mềmChương 11 : Các mẫu thiết kế che dấu hành vi, thuật giải trong ₫ối tượngSlide 711.2 Mẫu Chain of ResponsibilityTheo lược ₫ồ ₫ối tượng của Button như trên thì khi user ấn phải chuộtvào button ₫ể xem trợ giúp về button ₫ó thì :ƒ Hoặc là hàm xử lý HandleHelp() của chính button ₫ó chạy (nếu cóhiện thực) ₫ể hiển thị nội dung trợ giúp chính xác về button ₫ó.ƒ Hoặc là hàm xử lý HandleHelp() của ₫ối tượng chứa button sẽ chạy(GroupBox - nếu có hiện thực) ₫ể hiển thị nội dung trợ giúp về phầntử GroupBox ₫ó, nội dung này thường chứa thông tin trợ giúp củabutton.ƒ Tương tự, nếu GroupBox không hiện thực hàm xử lý HandleHelp()thì hàm HandleHelp() của Form sẽ chạy, còn nếu Form cũng khônghiện thực hàm xử lý HandleHel ...

Tài liệu được xem nhiều: