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 cung cấp cho người học các kiến thức: Ôn tập thiết kế hướng đối tượng, giới thiệu mẫu thiết kế, ký hiệu và thuật ngữ. Mời các bạn cùng tham khảo.
Trang 1Tong quan vé
Mẫu thiết kê HĐT
GV Nguyễn Minh Huy
Mẫu thiệt kê hướng đôi tượng & ứng dụng - Nguyễn Minh Huy uuDuong ThartCong.com https://fb.com/tailieudientucntt 1
Trang 2Nội dung
a On tap HDT
= Giới thiệu mẫu thiệt kê
m Ky hiệu & thuật ngữ
uuDuongThart€ong.co
Trang 3Nội dung
= On tap HDT
a Gidi thiéu mẫu thiết kê
m Ky hiệu & thuật ngữ
uuDuongThart€ong.co
Trang 4Ôn tập HĐT
m Đôi tượng là gì?
=m Chương trình hướng đôi tượng?
a Khai báo lớp và sử dụng đôi tượng?
= Chua du!!
= Cân tuân thủ ba tinh chat huong déi tượng!!
Trang 5
Ôn tập HĐT [
= Ba tinh chat lap trình hướng đôi tượng?
a Tinh dong gol (encapsulation)
> Quy tắc hộp đen
= Tính kê thừa (inheritance)
=> Tái sử dụng cái có sẵn
m lính đa hình
> Ham ao + liên kết động
Trang 6On tap HDT m
m Mục đích của lập trình hướng đôi tượng?
m Giảm thời gian và công sức lập trình
> Giảm gắn kêt mã nguôn (spaghetti code)
> Tái sử dụng và giảm phụ thuộc cài đặt cụ thê
> Thích ứng thay đổi, dễ bảo trì, nâng cập
Mẫu thiết kê hướng đội tượng & ứng dụng - Nguyễn Minh Huy https://fb.com/tailieudientucntt
Trang 7Nội dung
= On tap HDT
= Gidi thiéu mau thiét ke
m Ky hiệu & thuật ngữ
uuDuongThart€ong.co
Trang 8Giới thiệu mẫu thiệt kê [am
m Vì sao có mẫu thiệt kê?
= Cac tính chât hướng đôi tượng mơ hỗ, khó hiéu
= Nhu cau tai sử dụng tri thức
=> Cân có những bài giải mẫu
= Mau thiét ke Gang of Four (GoF Patterns):
> Ra doi tai OOPSLA 1994
> 23 bài giải mẫu cho những vẫn đề thiết kế thường gap
nae ) "
Design Patterns
Fhements of Reusable
Object-Oeditod Software”
ay
Mẫu thiết kê hướng đội tượng & ứng dụng - Nguyễn Minh Huy https://fb.com/tailieudientucntt
Trang 9Giới thiệu mẫu thiệt kê [am
m Phân loại mẫu thiệt kê GoF:
Purpose
Scope | Class | Factory Mlethod (107) | Adapter (139) Interpreter (243)
Template Method (325)
Object | Abstract Factory (87) | Adapter (139) Chain of Responsibility (223)
in
Builder (9 Bridge (151 Command (233 Prototype (117) Composite (163) | Iterator (257) Singleton (127) Decorator (175) | Mediator (273)
Facade (185) | Memento (283) Proxy (207) Flyweight (195)
Observer (293) State (305)
Strategy (315) Visitor (331
Mẫu thiết kê hướng đội tượng & ứng dụng - Nguyễn Minh Huy https://fb.com/tailieudientucntt
Trang 10Giới thiệu mẫu thiệt kê [am
m Câu trúc một mâu thiêt kê:
=m Tổng quan (pattern name, summary)
= Bai toan (motivation)
a LO’ gial:
> Ng canh ap dung (applicability)
> Sơ đồ lớp (structure)
> Các thành phân câu thành (participants)
m Ban luận:
> Uu, khuyét (consequences)
> Cach cai dat hiéu qua (implementation/sample code)
> Áp dụng thuc té (known uses)
Mẫu thiết kê hướng đội tượng & ứng dụng - Nguyễn Minh Huy https://fb.com/tailieudientucntt 10
Trang 11Giới thiệu mẫu thiệt kê [am
=m Hướng phát triên:
m Mẫu thiệt kê mới
= Mẫu kêt hợp (compound patterns)
= Mẫu nên tránh (anti-patterns, code smells)
= Mẫu phân tích (analysis patterns)
Mẫu thiệt kê hướng đôi tượng & ứng dụng - Nguyễn Minh Huy So com/taiieudientuont 11
Trang 12Nội dung
a On tap HDT
a Gidi thiéu mau thiét ké
a Ky hieu & thuat ngw
Trang 13
Ký hiệu & thuật ngữ
a Ky hieu UML:
a LOp doi tuong:
> Thuộc tính, phương thức
> Tâm vực
> Chu thích mã giả
= Kê thừa (IS-A):
> Reuse vs Override
> Hàm thuân ảo
= Bao hàm (HAS-A)
Mẫu thiết kê hướng đội tượng & ứng dụng - Nguyễn Minh Huy https://fb.com/tailieudientucntt 13
Trang 14Ký hiệu & thuật ngữ
m ihuật ngữ:
a Interface:
> Implemention vs type
> Sub-class vs Sub-type
= Complie-time vs run-time
= Hard-coded vs soft-coded
= Composition (wrapper):
> Static reuse vs dynamic reuse
=» | here Is no free lunch!
Mẫu thiết kê hướng đội tượng & ứng dụng - Nguyễn Minh Huy https://fb.com/tailieudientucntt 14