Design pattern là gì?
DESIGN PATTERN
I. Design pattern là gì?
- Design pattern là một kỹ
thuật trong lập trình hướng đối tượng, là một tập các giải pháp cho các vấn đề cụ thể trong
việc phân tích thiết kế hệ thống phần mềm. Nói nôm na design pattern giống như
là bài giải mẫu của một bài toán nào đó.
- Design pattern cần thiết
cho cả các nhà lập trình và nhà phân tích thiết kế.
- Design pattern được dùng ở
khắp mọi nơi, trong các phần mềm hướng đối tượng, các hệ thống lớn, trong các
chương trình trò chơi,...
II. Tại sao phải dùng design pattern?
- Tái sử dụng: việc thiết kế
một một phần mềm hướng đối tượng phục vụ cho mục đích dùng lại là rất khó,
chúng ta phải xác định được có những lớp đối tượng nào, quan hệ giữa chúng ra
sao, có kế thừa hay không,... Thiết kế của chúng ta phải đảm
bảo không chỉ giải quyết được các vấn đề hiện tại, mà còn có thể tiến hành mở rộng
trong tương lai. Vì vậy, nếu phần mềm không có một thiết kế tốt, việc sau này
khi mở rộng phần mềm lại phải thiết kế lại từ đầu rất có thể xảy ra.
-
Kinh nghiệm quý báo: design pattern là những kinh nghiệm đã được đút kết từ những
người đi trước, việc sử dụng các design pattern sẽ giúp chúng ta giảm được thời
gian và công sức suy nghĩ ra các cách giải quyết cho những vấn đề đã có lời giải.
III. Hệ thống các mẫu design pattern
Hệ thống các mẫu design
pattern hiện có 23 mẫu được định nghĩa trong cuốn “Design patterns Elements of
Reusable Object Oriented Software”. Hệ thống các mẫu này có thể nói là đủ và tối
ưu cho việc giải quyết hết các vấn đề của bài toán phân tích thiết kế và xây dựng
phần mềm trong thời điểm hiện tại. Hệ thống
các mẫu design pattern được chia thành 3 nhóm: nhóm Creational, nhóm Structural
và nhóm Behavioral.
1. Nhóm Creational (nhóm kiến tạo)
Gồm có 5 mẫu:
Abstract Factory, Factory Method, Builder, Prototype và Singleton.
Nhóm này hỗ trợ cho việc khởi tạo đối tượng trong hệ thống.
2. Nhóm Structural (nhóm cấu trúc)
Gồm có 7 mẫu: Adapter, Bridge, Composite, Decorator,
Facade, Proxy và Flyweight.
Nhóm này liên quan tới các quan hệ cấu trúc giữa các đối tượng.
3. Nhóm Behavioral (nhóm tương tác)
Gồm có 11 mẫu: Interpreter, Template
Method, Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State,
Strategy và Visitor.
Nhóm này liên quan tới các hành vi tương tác giữa các đối tượng.
Nguồn: Sưu tầm và chỉnh sửa
Nhận xét
Đăng nhận xét