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

Bài đăng phổ biến từ blog này

Property trong Objective-C

Quản lý bộ nhớ trong Objective-C