Design Pattern là cái gì mà đi phỏng vấn đâu đâu cũng hỏi?

Post on: 2020-05-20 00:02:49 | in: Design Pattern
Design Pattern là gì? Tại sao đi phỏng vấn hay được hỏi về design pattern? Hãy cũng mình tìm hiểu về nó nhé.

Design patterns là tập các giải pháp cho cho vấn đề phổ biến trong thiết kế các hệ thống máy tính. Đây là tập các giải pháp đã được công nhận là tài liệu có giá trị, những người phát triển có thể áp dụng giải pháp này để giải quyết các vấn đề tương tự.

Chốt lại Design pattern là các mẫu thiết kế có sẵn, dùng để giải quyết một vấn đề.

Tại sao sử dụng Design Pattern?

Design pattern cung cấp giải pháp ở dạng tổng quát, giúp tăng tốc độ phát triển phần mềm bằng cách đưa ra các mô hình test, mô hình phát triển đã qua kiểm nghiệm. Thiết kế phần mềm hiệu quả đòi hỏi phải cân nhắc các vấn đề sẽ nảy sinh trong quá trình hiện thực hóa (implementation). Dùng lại các design pattern giúp tránh được các vấn đề tiềm ẩn có thể gây ra những lỗi lớn, dễ dàng nâng cấp, bảo trì về sau.

Một lợi thế lớn để sử dụng một mẫu thiết kế là lập trình viên khác sẽ có thể dễ dàng nhận ra nó (đặc biệt là nếu bạn sử dụng quy ước đặt tên tốt).

Khi nào nên sử dụng Design pattern?

Đó là khi bạn muốn giữ cho chương trình của mình thực sự đơn giản. 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. Bạn có thể đọc qua cuốn “Head First Design Patterns” để có cái nhìn tổng quát hơn về design pattern.

Các loại Design pattern

Design pattern có thể chia thành 3 loại:

Creational Design Pattern liên quan đến việc khởi tạo object như: Factory, Object Pool, Abstract Factory, Builder.

Structure Design Pattern liên quan đến kết cấu, liên hệ giữa các object như: Adapter, Bridge, Decorator, Proxy, Composite, Facede.

Behavioral Design Pattern liên quan tới hành vi của các object như: Iterator, Mementor, Strategy, Template Method, Visitor.

Khi muốn học một design pattern mới, hãy tập trung chú ý vào 3 phần:
  • Vấn đề mà design pattern đó giải quyết
  • Sơ đồ UML mô tả design pattern
  • Code minh họa

Lời kết

Đây là bài đầu tiên trong chuỗi bài tìm hiểu vể Design pattern của mình, hi vọng mọi người có thể hiểu hơn về Design pattern và ưu điểm của nó.

Tag: Design Pattern là cái gì?