Design Patterns
(Các mẫu thiết kế)

Khái niệm

là một kỹ thuật trong lập trình hướng đối tượng, nó khá quan trọng và mọi lập trình viên muốn giỏi đều phải biết. Được sử dụng thường xuyên trong các ngôn ngữ OOP. Nó sẽ cung cấp cho bạn các "mẫu thiết kế", giải pháp tối ưu để giải quyết các vấn đề chung, thường gặp trong lập trình OOP

Lịch sử

Lợi ích

Cải thiện các kĩ năng lập trình hướng đối tượng

Việc phát triển phần mềm trở nên dễ dàng hơn

Nhận ra các mẫu (pattern) trong các thư viện và ngôn ngữ

Tìm kiếm sự thật và cái đẹp

Năm 1977 Alexander, Ishikawa, Silverstein, Jacobson, Fiksdahl-King, Angel lần đầu đưa ra ý tưởng dùng các mẫu chuẩn trong thiết kế xây dựng và truyền thông

Những năm đầu 1990, thiết kế mẫu được thảo luận ở các hội thảo workshop, sau đó người ta nỗ lực để đưa ra danh sách các mẫu và lập sưu liệu về chúng

Ý tưởng xuất phát từ ngành kiến trúc

Năm 1994 lần đầu ra mắt quyển sách Design patterns: Elements of Reusable Object Oriented Software Gamma, Johnson,Helm và Vhissdes,1995

Năm 2000 Evitts có tổng kết về cách các mẫu xâm nhập vào thế giới phần mềm sách của ông lúc bấy giờ chỉ nói về những mẫu có thể được sử dụng trong UML chứ chưa đưa ra khái niệm những mẫu thiết kế một cách tổng quát

Học tốt Design Patterns

Nắm vững được Bốn đặc tính của OOP: Kế thừa, Đa hình, Trừu tượng, Bao đóng.

Nắm vững hai khái niệm interface và abstract.

Bỏ tư duy theo lối cấu trúc, nâng tư duy hoàn toàn OOP.

Phân loại:

Có 23 mẫu thiết kế và được chia thành 3 nhóm

Nhóm khởi tạo
(Creational)

Prototype

Abstract Factory

Singleton

Factory Method

Nhóm cấu trúc
(Structural)

Bridge

Adapter

Proxy

Flyweight

Facade

Decorator

Composite

Nhóm hành vi/ tương tác
(Behavioral )

Mediator

Memento

Observer

State

Chain of Responsibility

Template method

Visitor

Iterator

Template Method

Command

Interpreter

Builder