Danh mục

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

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

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

Thông tin tài liệu:

Bài giảng chương 10 - Các mẫu thiết kế phục vụ khởi tạo đối tượng bao gồm các nội dung: Tổng quát về nhóm mẫu “Creational”, mẫu abstract factory, mẫu factory method, mẫu prototype, mẫu builder, mẫu singleton. Mời các bạn cùng tham khảo nội dung chi tiết.
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 10 - TS. Nguyễn Văn HiệpChương 10Các mẫu thiết kế phục vụ khởi tạo ₫ối tượng(Creational Patterns)10.1 Tổng quát về nhóm mẫu “Creational”10.2 Mẫu Abstract Factory10.3 Mẫu Factory Method10.4 Mẫu Prototype10.5 Mẫu Builder10.6 Mẫu Singleton10.7 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 10 : Các mẫu thiết kế phục vụ khởi tạo ₫ối tượngSlide 110.1 Tổng quát về nhóm mẫu “Creational”‰‰Đối tượng thường chứa nhiều thuộc tính dữ liệu và nhiều thamkhảo ₫ến các ₫ối tượng khác. Đoạn code khởi tạo giá trị cho cácthuộc tính và tham khảo này phụ thuộc hoàn toàn vào sự hiệnthực cụ thể của ₫ối tượng. Chúng ta cần tách ₫oạn code này khỏicode của client sử dụng ₫ối tượng.Thường client muốn tạo ₫ối tượng phức hợp mà không cần quantâm ₫ến các thông tin cụ thể chi tiết sau :ƒ Đối tượng phức hợp thuộc class cụ thể nào.ƒ Nó chứa các loại ₫ối tượng con nào, số lượng ra sao.ƒ Mối quan hệ giữa các ₫ối tượng con như thế nào.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 10 : Các mẫu thiết kế phục vụ khởi tạo ₫ối tượngSlide 210.1 Tổng quát về nhóm mẫu “Creational”‰‰Các mẫu thiết kế “Creational” sẽ giúp code client linh ₫ộng về mặtkhởi tạo, quản lý và sử dụng ₫ối tượng. Chúng có thể cho phépclient chủ ₫ộng trong việc xác ₫ịnh ₫ối tượng nào ₫ược tạo ra, aitạo ra ₫ối tượng ₫ó, cách thức và thời ₫iểm khởi tạo ₫ối tượng ₫ó.Đặc ₫iểm nổi bật của các mẫu thiết kế “creational” là ₫oạn codeclient cần sử dụng ₫ối tượng không trực tiếp sinh ra ₫ối tượng mànhờ các phần tử trung gian ₫ể tăng ₫ộ linh ₫ộng, tối thiểu hóa sựphụ thuộc vào các class ₫ối tượng cụ thể.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 10 : Các mẫu thiết kế phục vụ khởi tạo ₫ối tượngSlide 310.2 Mẫu Abstract FactoryMục tiêu :ƒCung cấp cho Client 1 interface gồm tập tác vụ khởi tạo các₫ối tượng ₫ược dùng trong Client nhưng che dấu mọi chi tiết về₫ối tượng ₫ược tạo ra, thí dụ như thuộc class cụ thể nào…ƒMột trong các mục tiêu của việc viết code ứng dụng là phải cótính tổng quát cao và ₫ộ ₫ộc lập cao với chi tiết hiện thực củacác ₫ối tượng mà nó dùng. Một trong các phương án ₫ể ₫ạt₫ược mục tiêu trên là không dùng lệnh new ₫ể tạo ra ₫ối tượngcần dùng vì nếu dùng lệnh new thì phải xác ₫ịnh tên class cụthể và như vậy sẽ phụ thuộc vào class này. MẫuAbstractFactory sẽ giúp chúng ta tạo ₫ối tượng mà không cầnbiết tên class cụ thể ₫ược dùng.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 10 : Các mẫu thiết kế phục vụ khởi tạo ₫ối tượngSlide 410.2 Mẫu Abstract FactoryThí dụ về việc dùng mẫu Abstract factory :ƒTa muốn viết chương trình GUI (dùng giao diện ₫ồ họa trực quan)có khả năng chạy trên nhiều platform khác nhau (chương trìnhmulti-platform). Mỗi platform có một họ các class miêu tả các ₫ốitượng giao diện phổ dụng như TextBox, Button,… Giả sử các ₫ốitượng giao diện cùng chức năng trên các platform khác nhau hỗtrợ cùng interface thống nhất (nếu không ta dùng mẫu Adapter ₫ểcó ₫ược kết quả này). Việc sử dụng cụ thể họ các class giao diệnnào chỉ biết khi chương trình bắt ₫ầu chạy. Để giải quyết vấn ₫ềtrên, cách tốt nhất là dùng mẫu AbstractFactory với lược ₫ồ classnhư 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 10 : Các mẫu thiết kế phục vụ khởi tạo ₫ối tượngSlide 510.2 Mẫu Abstract FactoryKhoa 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 10 : Các mẫu thiết kế phục vụ khởi tạo ₫ối tượngSlide 610.2 Mẫu Abstract FactoryTa có thể xâydựng mẫuAbstractFactorytheo loại classpattern 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 10 : Các mẫu thiết kế phục vụ khởi tạo ₫ối tượngSlide 710.2 Mẫu Abstract FactoryCác phần tử tham gia :ƒIObjectA, IObjectB : interface thống nhất của các ₫ối tượng cùngchức năng trong các họ khác nhau.ƒIAbstractFactory : interface của ₫ối tượng chuyên tạo các ₫ốitượng dùm cho Client.ƒConcreteFactory1… : class hiện thực các tác vụ tạo ₫ối tượngtrong interface IAbstractFactory. Hệ thống có nhiềuConcreteFactory, mỗi ConcreteFactory sinh ra các ₫ối tượng cùnghọ, các họ ₫ối tượng do các ConcreteFactory tạo ra tương ₫ồngnhau về vai trò, về chức năng.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 10 : Các mẫu thiết kế phục vụ khởi tạo ₫ối tượngSlide 810.2 Mẫu Abstract FactoryCác phần tử tham gia (tt) :ƒObjectA, ObjectB : class hiện thực ₫ối tượng ₫ược tạo ra bởi classConcreteFactory tương ứng, nó hỗ trợ interface sử dụng tươ ...

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