Bài giảng giới thiệu các thông tin cơ bản về mẫu thiết kế hướng đối tượng và miêu tả mục tiêu, tính chất của các mẫu thiết kế phục vụ cấu trúc các đối tượng như Adapter, Composite, Proxy, Decorator, Facade, Flyweight. | Chương 4 Các mẫu thiết kế phục vụ tổ chức cấu trúc các ₫ối tượng (Structural Patterns) Tổng quát về mẫu thiết kế HĐT Mẫu Adapter Mẫu Composite Mẫu Proxy Mẫu Decorator Mẫu Facade Mẫu Flyweight Kết chương Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa © 2010 Môn : Phân tích & thiết kế phần mềm hướng ₫ối tượng Chương 4 : Các mẫu thiết kế phục vụ tổ chức cấu trúc các ₫ối tượng Slide 1 Tổng quát về mẫu thiết kế HĐT Trong việc phát triển 1 phần mềm, ta thường thực hiện các hoạt ₫ộng chức năng sau ₫ây : 1. Nắm bắt yêu cầu phần mềm 2. Phân tích từng chức năng 3. Thiết kế 4. Hiện thực (hay viết code) 5. Kiểm thử Các hoạt ₫ộng trên có mối quan hệ phụ thuộc nhau, cụ thể kết quả của bước i là dữ liệu ₫ầu vào của bước thứ i+1. Do ₫ó nếu bước thứ i có lỗi, nghĩa là kết quả của nó không ₫úng thì sẽ kéo theo các bước sau ₫ó sẽ bị lỗi cho dù ta cố gắng thực hiện chúng tốt cách gì ₫i nữa. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa © 2010 Môn : Phân tích & thiết kế phần mềm hướng ₫ối tượng Chương 4 : Các mẫu thiết kế phục vụ tổ chức cấu trúc các ₫ối tượng Slide 2 Tổng quát về mẫu thiết kế HĐT Như vậy, lỗi ở bước ₫ầu tiên là nguy hại nhất, kế ₫ó là lỗi ở bước thức 2, thứ 3, . Tuy nhiên, các bước nắm bắt yêu cầu và phân tích chức năng thường chỉ tạo ra kết quả ít, chưa có ₫ộ phức tạp cao, do ₫ó ta vẫn có cách kiểm soát ₫ể những kết quả này ít có lỗi nhất. Còn bắt ₫ầu từ bước thiết kế trở ₫i, kết quả sẽ nhiều và có ₫ộ phức tạp cao hơn nên sẽ khó kiểm soát hơn. Và nếu có lỗi ở bước này thì rất nguy hại vì sẽ kéo theo hoạt ₫ộng hiện thực không có ý nghĩa gì nữa. Tóm lại, thiết kế phần mềm là một vấn ₫ề rất khó khăn, nhất là khi phần mềm lớn, mối quan hệ giữa các phần tử sẽ nhiều và phức tạp, bản thiết kế thường không hiệu quả và chứa nhiều lỗi khó biết. Hơn nữa, ta thường phải trả giá cao cho các lỗi thiết kế vì chúng ảnh hưởng nặng nề ₫ến các giai ₫oạn sau như viết code, kiểm thử . Khoa Khoa học