References

Refactoring and Design Patterns

Design Pattern là gì?

Design pattern là các giải pháp tổng thể đã được tối ưu hóa, được tái sử dụng cho các vấn đề phổ biến trong thiết kế phần mềm mà chúng ta thường gặp phải hàng ngày. Đây là tập các giải pháp đã được suy nghĩ, đã giải quyết trong tình huống cụ thể.

Tác dụng của Design Pattern

Những lập trình viên có thể áp dụng giải pháp này để giải quyết các vấn đề tương tự. Các vấn đề mà bạn gặp phải có thể bạn sẽ tự nghĩ ra cách giải quyết nhưng có thể nó chưa phải là tối ưu.

Bạn cần phải hiểu rõ nó không phải là ngôn ngữ cụ thể nào cả. Design patterns có thể thực hiện được ở phần lớn các ngôn ngữ lập trình. Nó giúp bạn giải quyết vấn đề một cách tối ưu nhất, cung cấp cho bạn các giải pháp trong lập trình hướng đối tượng (OOP).

Phân loại Design Parttern

1. Creational Pattern: tập hợp các giải pháp liên quan đến khởi tạo đối tượng

Nhóm này gồm 5 mẫu thông dụng:

Ví dụ: Singleton Pattern (Singleton (refactoring.guru)

2. Structural Pattern: tập hợp các giải pháp liên quan đến thiết lập kết cấu, liên hệ giữa các đối tượng.

Nhóm này gồm 7 mẫu thông dụng: