Báo Cáo Môn Học Thiết Kế Phần Mềm Hướng Đối Tượng ĐỀ TÀI Mẫu trang trí DECORATOR Pattern

11 6 0
Báo Cáo Môn Học  Thiết Kế Phần Mềm Hướng Đối Tượng  ĐỀ TÀI  Mẫu trang trí  DECORATOR Pattern

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Báo Cáo Môn Học Thiết Kế Phần Mềm Hướng Đối Tượng ĐỀ TÀI Mẫu trang trí DECORATOR Pattern Báo Cáo Môn Học Thiết Kế Phần Mềm Hướng Đối Tượng ĐỀ TÀI Mẫu trang trí DECORATOR Pattern Báo Cáo Môn Học Thiết Kế Phần Mềm Hướng Đối Tượng ĐỀ TÀI Mẫu trang trí DECORATOR Pattern Báo Cáo Môn Học Thiết Kế Phần Mềm Hướng Đối Tượng ĐỀ TÀI Mẫu trang trí DECORATOR Pattern Báo Cáo Môn Học Thiết Kế Phần Mềm Hướng Đối Tượng ĐỀ TÀI Mẫu trang trí DECORATOR Pattern

TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TP.HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH CÔNG NGHỆ PHẦN MỀM MÔN THIẾT KẾ PHẦN MỀM HƯỚNG ĐỐI TƯỢNG ĐỀ TÀI: DECORATOR MỤC ĐÍCH • Gắn chức bổ sung cho đối tượng (gán động) • Decorator cung cấp số thay đổi mềm dẻo cho phân lớp để mở rộng thêm chức Mục đích Ý nghĩa Cấu trúc Điều kiện SD ƯuKhuyết Ví dụ Ý NGHĨA • Bổ sung trách nhiệm cho đối tượng thời điểm thực thi • Đây xem thay hiệu cho phương pháp kế thừa việc bổ sung trách nhiệm cho đối tượng mức tác động mức đối tượng thay mức lớp phương pháp kế thừa Mục đích Ý nghĩa Cấu trúc Điều kiện SD ƯuKhuyết Ví dụ CẤU TRÚC class Logical View Component + #component Operati on(): voi d Mục đích Ý nghĩa Cấu trúc Điều kiện SD ƯuKhuyết Ví dụ Decorator ConcreteComponent + Operati on(): voi d # com ponent: Com ponent + + Operati on(): voi d SetCom ponent(Com ponent): voi d ConcreteDecoratorA - addedState: stri ng + Operati on(): voi d ConcreteDecoratorB + + AddedBehavi or(): voi d Operati on(): voi d Hình: Cấu trúc mẫu Mục đích Ý nghĩa Cấu trúc Điều kiện SD ƯuKhuyết Ví dụ CẤU TRÚC (TT) • Component: interface chứa phương thức ảo (ở Operation) • ConcreteComponent: lớp implement Component, cài đặt phương thức cụ thể (Operation cài đặt tường minh) • Decorator: lớp ảo, implement Component đồng thời chứa thể Component, phương thức Operation Decorator thực thông qua thể • ConcreteDecoratorX: lớp kế thừa từ Decorator, khai báo tường minh phương thức, đặc biệt lớp khai báo tường minh “trách nhiệm” cần thêm vào ĐIỀU KIỆN SỬ DỤNG • Khi bạn muốn thay đổi động mà khơng ảnh hưởng (tác động) đến đối tượng khác Mục đích Ý nghĩa Cấu trúc Điều kiện SD ƯuKhuyết Ví dụ • Khi bạn muốn thêm vào chức rút bỏ không cần ƯU ĐIỂM ĐIỂM Ưu điểm: Mục đích Ý nghĩa Cấu trúc Điều kiện SD ƯuKhuyết Ví dụ • • • - KHUYẾT Cung cấp giải pháp linh hoạt chức cho đới tượng so với cách thừa kế truyền thống Cung cấp giải pháp để dễ thay đổi hành vi đối tượng Ngoài ra, bạn code chức riêng class riêng thay gộp chung nhiều chức khác vào class làm cho thành phần dễ mở rộng tương lai ƯU ĐIỂM - KHUYẾT ĐIỂM (TT) Khuyết điểm: Mục đích • Việc bảo trì vấn đề cung cấp nhiều loại object class chức Ý nghĩa Cấu trúc Điều kiện SD ƯuKhuyết Ví dụ VÍ DỤ: class Logical View «interface» Icar + CalculateCost(): decimal Mục đích Ý nghĩa Cấu trúc Điều kiện SD ƯuKhuyết Ví dụ #car decoratorCar simpleCar - # car: Icar costOfChassis: decimal = 100000 costOfEngine: decimal = 50000 costOfWheels: decimal = 50000 + CalculateCost(): decimal + decoratorCar(Icar) + CalculateCost(): decimal HifiDecorator GPSDecorator - costOfGpsDevice: decimal = 30000 + CalculateCost(): decimal + GPSDecorator(Icar) - costOfAmpli: decimal = 20000 costOfSpeaker: decimal = 90000 + CalculateCost(): decimal + HifiDecorator(Icar) LightDecorator - costOflight: decimal = 60000 + CalculateCost(): decimal + LightDecorator(Icar) VÍ DỤ (TT) Mục đích Ý nghĩa Cấu trúc Điều kiện SD ƯuKhuyết Ví dụ Một xe tô gồm phận bánh xe, động khung xe, bận đó, để “trang trí” thêm phụ kiện khác mà không ảnh hưởng đến cấu trúc xe lúc đầu, phải dùng đến Decorator Pattern: • • • • Component: Icar (một interface) ConcreteComponent: simpleCar Decorator: decoratorCar ConcreteDecorator: LightDecorator, GPSDecorator, HifiDecorator 10 THE END THANK YOU ALL FOR WATCHING 11

Ngày đăng: 05/09/2023, 08:45

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan