Bài giảng Mẫu thiết kế hướng đối tượng và ứng dụng: Mẫu template method - Nguyễn Minh Huy
lượt xem 3
download
Bài giảng "Mẫu thiết kế hướng đối tượng và ứng dụng: Mẫu template method" cung cấp cho người học các kiến thức: Ngữ cảnh mẫu template method, hướng tiếp cận mẫu template method, cài đặt, các vấn đề xung quanh. Mời các bạn cùng tham khảo nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Mẫu thiết kế hướng đối tượng và ứng dụng: Mẫu template method - Nguyễn Minh Huy
- Mẫu Template Method GV. Nguyễn Minh Huy Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 1
- Mẫu Template Method Ngữ cảnh cảnh:: Bài toán toán:: Xây dựng thuật toán khung khung.. Thiết lập event trong lập trình trình.. Cài đặt hook sự kiện kiện.. Mục tiêu tiêu:: Một quy trình khung cố định định.. Có thể cải tiến tiến,, mở rộng các bước trong quy trình trình.. Cải biên một phần phương thức thức.. Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 2
- Mẫu Template Method Hướng tiếp cận cận:: Cài đặt quy trình khung: khung: Dùng phương thức không ảo (non (non--virtual). Cải tiến tiến,, mở rộng các bước trong quy trình trình:: Tách các bước cần sửa thành phương thức độc lập. lập. Phương thức khung gọi các phương thức này này.. Các lớp kế thừa cải biên lại. lại. Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 3
- Mẫu Template Method Cài đặt đặt:: class Form class WelcomeForm { { public: public: void load() void onBeforeLoad onBeforeLoad() () { { onBeforeLoad(); onBeforeLoad (); // Load ảnh giới thiệu thiệuSS // Cài đặt load formS } onAfterLoad(); onAfterLoad (); } } class LoginForm virtual void onBeforeLoad onBeforeLoad() () { } { virtual void onAfterLoad onAfterLoad() () { }; public: }; void onAfterLoad onAfterLoad() () { // Focus ô nhập usernameS } } Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 4
- Mẫu Template Method Các vấn đề xung quanh quanh:: Áp đặt quy trình khung với người dùng dùng:: Chỉ có thể cải biên các bước con. Tuân thủ quy trình thực hiện các bước bước.. Dùng protectedS class Form { void main() public: { void load() { Form f = new WelcomeForm(); WelcomeForm(); onBeforeLoad(); onBeforeLoad (); // Cài đặt load formS f.onAfterLoad(); f.onAfterLoad(); // Lỗi onAfterLoad(); onAfterLoad (); f.onBeforeLoad(); f.onBeforeLoad (); // Lỗi } protected: f.load(); f.load (); virtual void onBeforeLoad onBeforeLoad() () { } } virtual void onAfterLoad onAfterLoad() () { }; }; Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 5
- Mẫu Template Method Các vấn đề xung quanh quanh:: Áp dụng giảm trùng lặp mã nguồn nguồn:: Phương thức cải biên ở các lớp kế thừa có phần chung chung.. class Animal class Cat { { public: public: void talk() { virtual void talk() = 0; prepareSound(); prepareSound (); }; // Cài đặt kêu meo meo meoS S } }; class Dog { public: void talk() { prepareSound(); prepareSound (); // Cài đặt kêu gâu gâu gâuS S } }; Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 6
- Mẫu Template Method Các vấn đề xung quanh quanh:: Áp dụng giảm trùng lặp mã nguồn nguồn:: Tách phần chung thành Template Method. Chuyển phần riêng thành Primitive Operation. class Animal class Cat { { protected: public: void doTalk doTalk() () { void talk() // Cài đặt kêu meo meo meoSS { } prepareSound(); prepareSound (); }; doTalk(); doTalk (); class Dog { } protected: protected: void doTalk doTalk() () { virtual doTalk doTalk() () = 0; // Cài đặt kêu gâu gâu gâuSS }; } }; Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 7
- Mẫu Template Method Các vấn đề xung quanh quanh:: Áp dụng tránh quên gọi phương thức cha: Phương thức cha cung cấp cài đặt mặc định định.. Phương thức con cải biên và gọi lại cha. class Button { class Button { public: public: virtual void onDraw() onDraw() { virtual void onDraw() onDraw() { // Cài đặt mặc định địnhSS hookOperator(); hookOperator (); } // Cài đặt mặc định địnhS S }; } class CustomButton { }; public: class CustomButton { void onDraw() onDraw() { protected: // Cài đặt vẽS vẽS void hookOperation hookOperation()() { Button::onDraw Button:: onDraw(); (); // Cài đặt vẽS vẽS } } }; }; Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 8
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Thiết kế phần mềm - PGS.TS. Huỳnh Xuân Hiệp
299 p | 162 | 26
-
Bài giảng môn Thiết kế web - Phần 4: MacroMedia Dreamweaver
58 p | 124 | 17
-
Bài giảng Lập trình hướng đối tượng - Msc. Tran Son Hai
418 p | 52 | 7
-
Bài giảng Các mẫu thiết kế hướng đối tượng: Chương 5 - TS. Nguyễn Văn Hiệp
68 p | 63 | 7
-
Bài giảng Các mẫu thiết kế hướng đối tượng: Chương 1 - TS. Nguyễn Văn Hiệp
46 p | 71 | 5
-
Bài giảng Các mẫu thiết kế hướng đối tượng: Chương 8 - TS. Nguyễn Văn Hiệp
43 p | 61 | 4
-
Bài giảng Các mẫu thiết kế hướng đối tượng: Chương 7 - TS. Nguyễn Văn Hiệp
30 p | 52 | 4
-
Bài giảng Các mẫu thiết kế hướng đối tượng: Chương 6 - TS. Nguyễn Văn Hiệp
62 p | 63 | 4
-
Bài giảng Các mẫu thiết kế hướng đối tượng: Chương 4 - TS. Nguyễn Văn Hiệp
21 p | 54 | 4
-
Bài giảng Các mẫu thiết kế hướng đối tượng: Chương 3 - TS. Nguyễn Văn Hiệp
24 p | 55 | 4
-
Bài giảng Các mẫu thiết kế hướng đối tượng: Chương 2 - TS. Nguyễn Văn Hiệp
28 p | 59 | 4
-
Bài giảng Mẫu thiết kế hướng đối tượng và ứng dụng: Tổng quan về mẫu thiết kế hướng đối tượng - Nguyễn Minh Huy
14 p | 48 | 3
-
Bài giảng Mẫu thiết kế hướng đối tượng và ứng dụng: Mẫu Singleton - Nguyễn Minh Huy
10 p | 41 | 3
-
Bài giảng Mẫu thiết kế hướng đối tượng và ứng dụng: Mẫu Strategy - Nguyễn Minh Huy
10 p | 27 | 3
-
Bài giảng Mẫu thiết kế hướng đối tượng và ứng dụng: Nhóm mẫu khởi tạo - Nguyễn Minh Huy
3 p | 25 | 2
-
Bài giảng Mẫu thiết kế hướng đối tượng và ứng dụng: Nhóm mẫu cấu trúc - Nguyễn Minh Huy
4 p | 36 | 2
-
Bài giảng Mẫu thiết kế hướng đối tượng và ứng dụng: Nhóm mẫu hành xử - Nguyễn Minh Huy
3 p | 57 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn