Open Closed Principle - Trãi Nghiệm

Thái Lê TríThái Lê Trí
2 min read

Open Closed Principle là gì?

Open Closed Principle là một trong năm nguyên tắc SOLID, phát biểu rằng: "Phần mềm nên được thiết kế để có thể mở rộng chức năng mà không cần phải sửa đổi code hiện có". Nghĩa là:

  • Open for extension: Có thể thêm tính năng mới

  • Closed for modification: Không sửa đổi code đang chạy tốt

Case Study: Nâng cấp Membership Data Service

Bối cảnh:

  • Cần thêm 2 thông tin mới: Family ID và Relationship vào hệ thống quản lý Membership data

  • Core function đang được 40 đối tác insurance sử dụng

  • Mỗi đối tác có format tài liệu và nghiệp vụ riêng biệt

Thách thức:

  1. Core function chứa nhiều implementation phức tạp (legacy)

  2. Được sử dụng cho cả web và API call qua SFTP

  3. Nếu sửa trực tiếp:

    • Phải test lại toàn bộ 40 đối tác

    • Rủi ro gây lỗi cao

    • Tốn nhiều thời gian và công sức

Giải pháp áp dụng OCP:

  1. Giữ nguyên core function cũ

  2. Thêm mới chức năng vào chuỗi xử lý dữ liệu

  3. Cho phép:

    • Tương thích ngược với format cũ

    • Bật/tắt feature theo từng insurance/region

    • Mở rộng tính năng mà không ảnh hưởng code cũ

Lợi ích:

  1. Giảm thiểu rủi ro

  2. Không ảnh hưởng đến nghiệp vụ hiện tại

  3. Linh hoạt trong việc áp dụng tính năng mới

  4. Dễ dàng maintain và scale

Đây là một ví dụ điển hình về việc áp dụng OCP để giải quyết vấn đề trong thực tế, giúp hệ thống dễ bảo trì và mở rộng hơn.

0
Subscribe to my newsletter

Read articles from Thái Lê Trí directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Thái Lê Trí
Thái Lê Trí