Thứ Hai, 26 tháng 6, 2023

Design Patterns: Elements of Reusable Object-Oriented Software




Design Patterns: Elements of Reusable Object-Oriented Software"

Tác giả: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four)

Đây là một trong những cuốn sách tôi tâm đắc trong tủ sách lập trình của mình. Tôi đọc cuốn này sau cuốn Clean Code và phải đọc đi đọc lại, vừa đọc vừa thực hành nhiều thì mới vận được “nội công thâm hậu” từ cuốn bí kíp này. Dân lập trình chuyên nghiệp chắc hẳn không thể thiếu Design Patterns. 


Dưới đây là một ví dụ thực tế dễ hiểu cho một số mẫu thiết kế thường gặp:


1. Singleton Pattern:

   Ví dụ: Lớp DatabaseConnectionManager quản lý kết nối đến cơ sở dữ liệu. Với Singleton Pattern, chúng ta có thể đảm bảo rằng chỉ có một đối tượng DatabaseConnectionManager được tạo ra và mọi yêu cầu kết nối sẽ sử dụng đối tượng duy nhất này.


2. Factory Pattern:

   Ví dụ: Lớp ShapeFactory tạo ra các đối tượng hình học như hình vuông (Square), hình chữ nhật (Rectangle) và hình tròn (Circle) dựa trên thông tin đầu vào. Bằng cách sử dụng Factory Pattern, chúng ta có thể tạo ra các đối tượng hình học mà không cần biết chi tiết về cách chúng được tạo ra.


3. Observer Pattern:

   Ví dụ: Hệ thống thông báo sự kiện đăng ký. Khi người dùng đăng ký thông tin, các thành phần quan sát (observers) như gửi email, gửi thông báo trên ứng dụng di động và cập nhật trên giao diện người dùng sẽ được thông báo và cập nhật dựa trên thông tin đăng ký.


4. Strategy Pattern:

   Ví dụ: Bộ lọc ảnh trong ứng dụng xử lý ảnh. Chúng ta có thể áp dụng một loạt các thuật toán bộ lọc như Lọc Màu Xám (Grayscale), Lọc Đỏ (Red Filter), Lọc Xanh (Blue Filter) bằng cách sử dụng Strategy Pattern. Mỗi thuật toán bộ lọc được triển khai trong một lớp riêng biệt và có thể được chọn linh hoạt để áp dụng vào ảnh.


5. Decorator Pattern:

   Ví dụ: Lớp OrderDecorator trong một hệ thống đặt hàng. Chúng ta có thể thêm các tính năng bổ sung như quà tặng, gói quà, hay dịch vụ giao hàng nhanh bằng cách sử dụng Decorator Pattern. Mỗi tính năng bổ sung sẽ được triển khai trong một lớp decorator và có thể được áp dụng linh hoạt cho một đơn hàng cụ thể.

Hy vọng rằng cuốn sách này sẽ cung cấp cho bạn kiến thức thú vị và hữu ích về mẫu thiết kế trong lập trình.

Không có nhận xét nào:

Đăng nhận xét

NHÌN LẠI SỰ NGHIỆP - TẬP 2

  Mình làm việc tại Fsoft Đà Nẵng trong 2 năm với vai trò Developer của dự án ERP làm cho khách hàng Nhật.     Sau đó mình tham gia khoá học...