thiết kế phần mềm hướng đối tượng hướng TEMPLATE METHOD STRATEGY

34 240 0
thiết kế phần mềm hướng đối tượng hướng TEMPLATE METHOD  STRATEGY

Đ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

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN THIẾT KẾ PHẦN MỀM HƯỚNG ĐỐI TƯỢNG TEMPLATE METHOD & STRATEGY STRATEGY PATTERN • Demo • Các mẫu liên quan • Ưu, nhược điểm • Tính chất • Một số ví dụ • Những trường hợp áp dụng • Cấu trúc • NỘI DUNG Định nghĩa • Strategy mẫu chiến lược xác định nhóm thuật tốn, đóng gói thuật tốn làm cho chúng thay đổi • • Strategy cho phép thuật toán thay đổi cách độc lập với client sử dụng Cung cấp nhóm thuật toán cho phép client chọn lựa linh động thuật toán cụ thể sử dụng Mục đích • Giảm độ phức tạp mã nguồn • Tránh rắc rối phải thực chức qua q nhiều lớp • Dễ tu sửa, bảo dưỡng mà không ảnh hưởng trực tiếp đến client • Dễ dàng thay đổi thuật tốn • Các thuật toán khác phù hợp với thời điểm khác Cấu trúc Strategy: Mô tả giao diện chung cho tất thuật toán hỗ trợ Context: Sử dụng giao diện để gọi thuật toán định nghĩa ConcreteStrategy Triển khai thuật toán sử dụng giao diện Strategy Những trường hợp áp dụng đoạn code dễ thay đổi muốn tách chúng khỏi chương trình • Khi để dễ dàng bảo trì thay đổi thay đổi thuật tốn sử dụng chương trình chạy mà khơng • Muốn ảnh hưởng đến chương trình Một số ví dụ Ví dụ 1:Chúng ta KTX D2 cần chuyển đến trường có cách để xe buýt Grab vấn đề đặt cần chọn cách đến trường cho hợp lý nhanh Một số ví dụ Một số ví dụ -strategy NỘI DUNG Định nghĩa • Xác định khung chung thuật toán chức • Các phương thức mẫu cho phép lớp xác định lại bước định mà không ảnh hưởng đến cấu trúc thuật toán Mục đích • Tạo thống đồng Template method lớp • Tránh lặp lại phần chung định nghĩa rồi, cần định nghĩa phần riêng • Tiết kiệm tài nguyên Cấu trúc TemplateMethod: Phần khung để cài đặt cấu trúc chung thuật toán PrimitiveOperation: Thay đổi theo ngữ cảnh, việc cài đặt ủy nhiệm cho lớp kế thừa Những trường hợp áp dụng phần chung thuật toán để lớp thực hành • Thực vi thay đổi lặp lại phần chung lớp • Tránh • Kiểm soát phần mở rộng lớp Một số ví dụ Ví dụ 1: Một số ví dụ Ví Dụ 1:Thời Gian Biểu Một số ví dụ Ví Dụ 1:Sắp Xếp Dãy Số Tăng/Giảm Ưu, nhược điểm 7.2 Nhược điểm • • • Khó mở rộng, phụ thuộc nhiều vào lớp sở Khó khăn việc thiết lập chức Khó khăn việc trì Tính chất • Bộ khung định gần toàn giải thuật Vì nên việc cài đặt khung phức tạp • Các thuật tốn kế thừa định nghĩa bước định giải thuật khơng thể thay đổi tồn giải thuật • Khi tốn có nhiều bước tùy chỉnh dễ dàng Ưu, nhược điểm 7.1 Ưu điểm • Hạn chế phần lớn lượng code giống lớp cần phải thay đổi vài bước thuật toán cho phù hợp • Thay đổi thuật toán lớp dễ dàng • Dễ dàng kiểm sốt lớp có chung thuật tốn lớp Abstract • Lợi dụng tính đa hình lớp cha để gọi lớp con, lớp thừa kế thuộc tính có lớp cha mà khơng phải cài đặt lại Các mẫu liên quan Method • Factory • Strategy Các mẫu liên quan 8.1 Factory method • Factory Method thường gọi Template Method • Đều để subclass triển khai abstract method từ lớp cha • Tuy nhiên, Factory method thuộc nhóm Creational (Nhóm khởi tạo) nên mục đích khởi tạo đối tượng, Template method để lớp định nội dung Các mẫu liên quan 8.2 StrategyTemplate method sử dụng thừa kế để thay đổi phần thuật toán Strategy sử dụng ủy quyền để thay đổi tồn thuật tốn Demo Bài Toán Sắp Xếp Tăng Giảm ... đề giao tiếp Strategy Context 8 Các mẫu liên quan 8.2 Decorator • Decorator cho phép thay đổi bề đối tượng, strategy cho phép thay đổi ruột đối tượng 8 Các mẫu liên quan method • Template • Decorator... Mục đích • Tạo thống đồng Template method lớp • Tránh lặp lại phần chung định nghĩa rồi, cần định nghĩa phần riêng • Tiết kiệm tài nguyên 3 Cấu trúc TemplateMethod: Phần khung để cài đặt cấu... 8 Các mẫu liên quan method • Template • Decorator Các mẫu liên quan 8.1 Template method • Mẫu Template Method giống mẫu Strategy ở chỗ nó dựa trên thuật toán, định nghĩa lớp thuật toán xử lý lớp

Ngày đăng: 25/02/2019, 22:16

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • NỘI DUNG

  • 1. Định nghĩa

  • 2. Mục đích

  • 3. Cấu trúc

  • 4. Những trường hợp áp dụng

  • 5. Một số ví dụ

  • 5. Một số ví dụ

  • 5. Một số ví dụ

  • 5. Một số ví dụ

  • 6. Tính chất

  • 7. Ưu, nhược điểm

  • 7. Ưu, nhược điểm

  • 8. Các mẫu liên quan

  • 8. Các mẫu liên quan

  • 8. Các mẫu liên quan

  • 9. Demo

  • Slide 19

  • NỘI DUNG

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

Tài liệu liên quan