Design pattern là gì?
Design pattern được định nghĩa là các mẫu thiết kế, các giải pháp tổng thể để giải quyết các vấn đề chung trong lĩnh vực phát triển phần mềm.
Design pattern không được phát triển dựa trên ngôn ngữ cụ thể nào cả. C#, PHP, Java hay tập chí javascript đều có thể sử dụng được các design pattern vào dự án.
Vì sao cần sử dụng design pattern?
– Cải thiện việc đọc code viết code, tái sử dụng code, đặc biệt là trong lập trình hướng đối tượng.
– Hạn chế các lỗi cơ bản hay lỗi tiềm ẩn do đã được nghiên cứu và tích hợp sẵn trong thiết kế
– Dễ dàng giải quyết các vấn đề đã được chứng minh bằng cách áp dụng design pattern thay vì tìm kiếm một phương pháp khác.
Các loại design pattern phổ biến
Creational Patterns (nhóm khởi tạo)
Creational pattern bao gồm: Abstract Factory, Factory Method, Singleton, Builder, Prototype. Nó sẽ giúp bạn trong việc khởi tạo đối tượng. Bình thường, để khởi tạo bạn phải sử dụng từ khóa new, tuy nhiên, nếu sử dụng nhóm Creational Pattern thì sẽ giúp khởi tạo đối tượng mà bạn sẽ không nhìn thấy từ khóa này.
Structural Patterns (nhóm cấu trúc)
Nhóm này bao gồm gồm: Adapter, Bridge, Composite, Decorator, Facade, Proxy và Flyweight. Nó dùng để thiết lập, định nghĩa quan hệ giữa các đối tượng.
Behavioral Patterns (nhóm ứng xử)
Nhóm này bao gồm: Interpreter, Template Method, Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy và Visitor. Nhóm này quan tâm đến đến giao tiếp giữa các đối tượng.
J2EE Patterns
Nhóm cuối này đặc biệt quan tâm đến tầng trình bày. Các design pattern này được đưa ra bởi Sun Java Center.
Ngoài ra còn có một vài design pattern khác được đưa ra tuy nhiên chưa thể được chung với các nhóm design pattern nói trên.
Lời kết
Ngày nay, trong công việc phát triển phần mềm, việc sử dụng các design pattern là rất quan trọng để đảm bảo dự án được phát triển tốt, dễ quản lý và bảo trì. Tùy theo từng tình huống, mục đích của dự án mà chúng ta lựa chọn các design pattern phù hợp để trách việc áp dụng quá nhiều design pattern khiến dự án bị rối loạn, khó khăn.
Một số tài liệu tham khảo
- https://toidicodedao.com/2016/03/01/nhap-mon-design-pattern-phong-cach-kiem-hiep/
- Design pattern – wikipedia