Design Pattern là gì? Tại sao cần học Design Pattern?
Hiện nay, Design Pattern rất được ưa chuộng bởi nó sẽ giúp chúng ta giảm bớt thời gian và công sức trong quá trình thiết kế. Vậy Design Pattern là gì? Hãy cùng tìm hiểu nhé!
- Hướng dẫn cài đặt preset màu cho Premiere đơn giản
- Tutorial: Cắt ảnh cực đơn giản trong PowerPoint
- Phong trào Bauhaus là gì? Ảnh hưởng của Bauhaus đến lĩnh vực thiết kế đồ hoạ
- Adobe Character Animator là gì? Các tính năng nổi bật của Adobe Character Animator
- 3 cách đơn giản giúp vẽ hình tam giác trong Photoshop
- Những tuyệt chiêu bảo quản máy ảnh khi đi du lịch
Hiện nay, Design Pattern rất được ưa chuộng bởi nó sẽ giúp chúng ta giảm bớt thời gian và công sức trong quá trình thiết kế. Vậy Design Pattern là gì? Hãy cùng tìm hiểu nhé!
Design Pattern là gì?
Design Pattern là một giải pháp tổng thể cho các vấn đề chung trong công nghệ thiết kế phần mềm. Design Pattern có thể giúp thiết kế của chúng ta linh hoạt, dễ dàng thay đổi và bảo trì hơn.
Mỗi pattern mô tả một vấn đề xảy ra lặp đi lặp lại, và trình bày trọng tâm của giải pháp cho vấn đề đó, theo cách mà bạn có thể dùng đi dùng lại hàng triệu lần mà không cần phải suy nghĩ.
Về tổng quan chung, một pattern có 4 thành phần chính:
Tên: được dùng để mô tả vấn đề thiết kế, giải pháp, và kết quả trong từ 1 đến 2 chữ.
Vấn đề mà pattern này được áp dụng.
Giải pháp: mô tả những thành phần tạo nên thiết kế, mối quan hệ, trách nhiệm và cộng tác giữa các thành phần đó.
Hệ quả: lợi ích cũng như hạn chế khi sử dụng pattern. Mặc dù những điều này không được nhắc đến khi chúng ta ra quyết định thiết kế, nhưng rõ ràng việc đánh giá và hiểu được chi phí cũng như lợi ích khi áp dụng pattern là cần thiết.
Tại sao cần học Design Pattern?
Pattern được hiểu theo nghĩa là tái sử dụng ý tưởng.
Pattern hỗ trợ tái sử dụng kiến trúc và mô hình thiết kế phần mềm theo quy mô lớn.
Pattern đa tương thích.
Phân loại Design Pattern
1. Ceational Patterns (Nhóm khởi tạo)
Nhóm này sẽ giúp bạn rất nhiều trong việc khởi tạo đối tượng mà bạn khó có thể nhận ra.Nhóm khởi tạo gồm 5 mẫu design sau:
Abstract Factory: Cung cấp interface cho việc tạo lập các đối tượng mà không cần xác định lớp cụ thể
Builder: Tách rời việc xây dựng một đối tượng phức tạp khỏi cách thể hiện của nó.
Factory Method: Định nghĩa interface để sinh ra đối tượng.
Prototype: Quy định loại của các đối tượng cần tạo bằng cách dùng một đối tượng mẫu.
Singleton: Đảm bảo một class chỉ có một instance và cung cấp 1 điểm truy xuất toàn cục đến nó
2. Structural Patterns (Nhóm cấu trúc)
Nhóm cấu trúc sẽ giúp chúng ta thiết lập, định nghĩa quan hệ giữa các đối tượng. Nhóm này gồm có 11 mẫu design là:
Adapter/ Wrapper: chuyển giao diện của một class thành giao diện phù hợp yêu cầu
Bridge
Composite: Tổ chức các đối tượng theo cấu trúc phân cấp dạng cây
Decorator
Flyweight: chia sẻ trạng thái chung nhằm thao tác hiệu quả tài nguyên và bộ nhớ.
Proxy
3. Behavioral Patterns (Nhóm ứng xử)
Nhóm này sẽ tập trung thực hiện các hành vi của đối tượng, gồm các mẫu design:
Chain Of Responsibilities
Command
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
Delegation
Service Locator
Repository
Entity-Attribute-Value (EAV)
Từ phân loại trên, dưới đây là một số cách tiếp cận để tìm ra design pattern phù hợp cho vấn đề:
Tìm hiểu cách design pattern giải quyết vấn đề.
Tìm hiểu tương quan giữa các pattern với nhau.
Hiểu mục đích của pattern.
Kiểm tra lý do phải thiết kế lại.
Ngược lại với cách tiếp cận trên, thay vì tìm hiểu lý do phải thiết kế lại, thử nghĩ xem bạn muốn thay đổi gì để không phải thiết kế lại.
Học Design Pattern như thế nào?
Bạn có thể tìm đọc thêm một số sách về Design Pattern như:
Design Patterns: Elements of Reusable Object-Oriented Software
Head First Design Patterns
Design Patterns For Dummies
Pattern Hatching: Design Patterns Applied
Refactoring to Patterns
Patterns of Enterprise Application Architecture
Lời kết
Trên đây là một vài nét cơ bản về Design Pattern mà các bạn có thể tham khảo. Hi vọng rằng qua bài viết trên, các bạn đã có một cái nhìn tổng quan và cụ thể hơn về Design Pattern.