Bài giảng tìm hiểu về mẫu thiết kế trong nhóm Behavioral Pattern bao gồm: mẫu Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Template method... Mời các bạn cùng tham khảo bài giảng Kiến trúc phần mềm – Mẫu thiết kế Behavioral Patterns để nắm chi tiết nội dung.
Trang 2Mẫu thiết kế trong nhóm
Trang 3Mẫu Command
3
[Christopher G Lasater (2007) Design Patterns, Wordware Publishing, Inc.]
Trang 4Mẫu Command
4
[Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1995) Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley]
Trang 5Mẫu Command
5
[Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1995) Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley]
Trang 6Mẫu Command
6
[Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1995) Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley]
Trang 7Mẫu Command
7
[Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1995) Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley]
Trang 9Mẫu Template Method
9
[Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1995) Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley]
Trang 10Mẫu Template Method
10
[Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1995) Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley]
Trang 11Mẫu Template Method
11
[Christopher G Lasater (2007) Design Patterns, Wordware Publishing, Inc.]
Trang 12Mẫu Template Method
12
Trang 13Mẫu Template Method
13
Trang 14Thảo luận
Cần xác định rõ quy trình chuẩn gồm những bước xử lý
nào (kể cả quy trình có rẽ nhánh và lặp)
Cần xác định rõ những bước xử lý nào có thể cần thay
đổi cách xử lý cụ thể (nhưng vẫn đảm bảo ý nghĩa trong quy trình của bước xử lý này)
Danh sách các tham số và kiểu kết quả trả về của hàm
xử lý cho mỗi bước
Khi muốn thay đổi cách xử lý cụ thể của một bước
trong quy trình đã được định nghĩa, không thay đổi
cách xử lý của các bước khác thì sao?
14
Trang 15Mẫu Strategy
15
[Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1995) Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley]
Trang 16Mẫu Strategy
16
[Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1995) Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley]
Trang 17Mẫu Strategy
17
[Christopher G Lasater (2007) Design Patterns, Wordware Publishing, Inc.]
Trang 18Mẫu Strategy
18
[Christopher G Lasater (2007) Design Patterns, Wordware Publishing, Inc.]
Trang 19Thảo luận
Có thể cho phép thay thế riêng lẻ từng thao tác xử lý cụ
thể trong một quy trình xử lý tổng quát
Plug-and-play
Kết hợp mẫu Strategy vào mẫu Template Method?
19
Trang 20Mẫu State
20
[Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1995) Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley]
Trang 21Mẫu State
21
[Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1995) Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley]
Trang 22Mẫu State
22
[Christopher G Lasater (2007) Design Patterns, Wordware Publishing, Inc.]
Trang 23Thảo luận
Strategy và State?
Trạng thái, chuyển đổi trạng thái
Trạng thái thay đổi dẫn đến MỘT SỐ hành vi sẽ thay
đổi cách xử lý cụ thể
Tính che giấu thông tin và cách xử lý nội bộ trong đối
tượng
23
Trang 24Mẫu Observer
24
[Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1995) Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley]
Trang 25Mẫu Observer
25
[Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1995) Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley]
Trang 26Mẫu Observer
26
[Christopher G Lasater (2007) Design Patterns, Wordware Publishing, Inc.]