Danh mục

Design Pattern

Số trang: 63      Loại file: ppt      Dung lượng: 1.30 MB      Lượt xem: 13      Lượt tải: 0    
tailieu_vip

Xem trước 7 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Design Patterns (ISBN 0201633612) là cuốn sách khoa học máy tính đưa ra các giải pháp chuẩn và các qui ước đặt tên cho các vấn đề chung trong thiết kế phần mềm. Các tác giả của cuốn sách là Erich Gamma, Richard Helm, Ralph Johnson và John Vlissides, hay còn được biết đến với các tên "Gang of Four" hay đơn giản là "GoF".Nửa đầu cuốn sách nói về các định nghĩa của các thiết kế mẫu cho phần mềm và phần còn lại đưa ra một danh sách các mẫu thiết kế thực tiễn có thể dùng lại....
Nội dung trích xuất từ tài liệu:
Design Pattern CHƯƠNG 8: CHDesign PatternDesign 1 ̣Nôi dungNôi là gi? ̀CouplingCohesion là gi? ̀Pattern là gi? ̀GRASP là gi? ̀ 2Coupling là gì?Coupling là 1 cách để đo lừơng xemCoupling 1 phần tử khi được kết nối thì nó có khả năng “hiểu biết” đến mức nào hay hoàn toàn phụ thuộc vào các phần tử khác. Phần tử có thể là class, subsystem, system…Một phần tử có coupling thấp (low coupling) nghĩa là nó không phụ thuộc nhiêu vào các phần tử khác. ̀ 3Coupling là gì?CouplingMột lớp có coupling cao sẽ phụ thuộc vào nhiều lớp khác. Các lớp này là không nên dùng vì: ◦ Những thay đổi trong các lớp có liên quan sẽ làm cho lớp nay cũng bị thay đổi theo ̀ ◦ Khó hiểu khi chúng bị cô lập ◦ Khó dùng lại vì nó đòi hỏi sự hiện diện cua 1 số lớp mà nó phụ thuộc vào ̉ 4Cohesion là gì?Cohesion đề cập đến sự tương tácCoupling giữa các đối tượng thì cohesion đề cập đến sự tương tác bên trong 1 đối tượng.Cohesion là 1 cách đo lường để xem các nhiêm vụ của 1 phần tử có ̣ quan hệ chặt chẽ với nhau như thế nào?Một phần tử có trách nhiệm tương đối cao, và không phải làm quá nhiều việc được xem là có cohesion cao (high cohesion) 5Cohesion là gì?CohesionMột lớp có low cohesion khi nó làm nhiều việc không liên quan nhau hay làm quá nhiều việc. Những lớp này là không nên dùng vì: ◦ Khó hiểu ◦ Khó dùng lại ◦ Khó bảo trì ◦ Dễ bị ảnh hưởng bởi các thay đổiCác lớp có cohesion thấp thường biểu diễn cho việc trừu tượng ở mức quá lớn, hay nhận những nhiệm vụ mà lẽ ra phải giao lại cho các đôi tượng khác thực hiện ́ . 6Cohesion là gì?Cohesion cohesion: là method chỉ đảm nhiệmMethod 1 chức năng hay 1 nhiệm vụ. Thông thường cách đặt tên của nó cũng ngầm nói lên chức năng, ví dụ method chon_nha_cung_cap(), Tinh_tong()Class cohesion: các thuộc tính và method của lớp phải có mức độ cohesion cao, nghĩa là chúng phải được dùng bởi chính các method trong class hay chỉ chứa các method phục vụ cho mục đích chính của class 7Các mức độ cohesionCác Very low cohesion: một class phải tự1. mình làm nhiều việc trong những miền chức năng hoàn toàn khác nhau.Ví dụ: môt lớp vừa có có nhiệm vụ ̣ tương tác với database quan hệ vừa quản lý các lệnh gọi thủ tục từ xa. Những nhiệm vụ này thuộc 2 vùng chức năng khác nhau, nên lớp nay ̀ có very low cohesion. 8Các mức độ cohesionCác Low cohesion: class có nhiệm vụ phải tự2. mình thực hiện 1 công việc phức tạp trong 1 vùng chức năng.Ví dụ: môt lớp có nhiệm vụ tương tác với ̣ database quan hệ. Các method của lớp đều có liên quan với nhau nhưng lớp này có quá nhiều method để đảm đương nhiệm vụ Nên chia lơp nay thành 1 họ các lớp cùng ́ ̀ chia xẻ nhau công việc truy xuất database. 9Các mức độ cohesionCác cohesion: lơp có nhiệm vụ vừa ́High phải (moderate responsibilities) trong cùng 1 vùng chức năng và hợp tác với các lớp khác để hoàn thành nhiệm v ụ.Ví dụ: lớp RDBInterface chỉ có 1 phần nhiệm vụ trong việc tương tác với database. Nó tương tác với hàng tá các lơp khác để khôi phục và lưu trữ ́ dữ liệu. 10Quy luật Cohesion vàQuyCoupling kém thì thường sinh raCohesion coupling kém và ngược lại.Cohesion và couling được ví như âm và duơng (yin and yang) của software engineering 11Các lợi ích của high cohesionCác cho việc thiết kế rõ ràng và dễLàm hiểu hơn.Việc bảo trì và mở rộng cũng đơn giản hơn.Low coupling thường đuợc hỗ trợ. 12Pattern là gi? ̀Pattern thưc tế có rât nhiêu lược đồ ̣ ́ ̀Trong class có câu truc giông nhau. Pattern ́ ́ ́ được xem như là giai phap hay cach ̉ ́ ́ thưc để giai quyêt bai toan. ́ ̉ ́ ̀ ́Khai niêm về pattern trong thiêt kế ́ ̣ ́ phân mêm đuợc vay mượn từ nganh ̀ ̀ ̀ kiên truc xây dựng nơi mà cac pattern ́ ́ ́ trợ giup rât nhiêu cho cac kiên t ...

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