Thiết kế một hệ thống ghi chép kiểu dáng trách nhiệm

Trong việc phát triển phần mềm, việc ghi nhật ký hữu hiệu là thiết yếu để gỡ lỗi và theo dõi các ứng dụng. Chuỗi tính năng trách nhiệm cung cấp một cách linh hoạt để thiết kế một hệ thống ghi chép theo mô-đun có thể xử lý các mức độ và định dạng khác nhau không thay đổi.

Dây chuyền của gương mẫu trách nhiệm là gì?

Chuỗi trách nhiệm là một mô hình thiết kế hành vi cho phép một đối tượng truyền một yêu cầu cùng với một chuỗi giám sát cho đến khi một trong số họ xử lý nó. điều này thúc đẩy sự kết nối lỏng lẻo và tăng độ linh hoạt của hệ thống.

Áp dụng gương mẫu về việc ghi chép

Trong hệ thống khai thác gỗ, mỗi người có thể biểu thị một mức độ ghi khác nhau như DEBUGGG, INFO, CẢNH BÁO, ERROR, hoặc CTOR.

Thiết kế hệ thống ghi chép đa phổ

Để thực hiện mô hình này, xác định một lớp quản lý cơ bản với tham chiếu đến người quản lý kế tiếp. Mỗi người quản lý đặc biệt thừa kế từ lớp cơ sở này và ghi đè phương pháp xử lý tin nhắn đăng nhập dựa trên độ quan trọng.

Đây là một ví dụ đơn giản:

class LogHandler {
 constructor(next) {
 this.next = next;
 }

 handle(logLevel, message) {
 if (this.next) {
 this.next.handle(logLevel, message);
 }
 }
}

class ErrorHandler extends LogHandler {
 handle(logLevel, message) {
 if (logLevel === 'ERROR' || logLevel === 'CRITICAL') {
 console.log(`[${logLevel}] ${message}`);
 } else {
 super.handle(logLevel, message);
 }
 }
}

class InfoHandler extends LogHandler {
 handle(logLevel, message) {
 if (logLevel === 'INFO') {
 console.log(`[INFO] ${message}`);
 } else {
 super.handle(logLevel, message);
 }
 }
}

// Setup chain
const errorHandler = new ErrorHandler(null);
const infoHandler = new InfoHandler(errorHandler);

// Usage
infoHandler.handle('ERROR', 'An error occurred.');
infoHandler.handle('INFO', 'Informational message.');

Thiết lập này cho phép thêm người quản lý mới một cách dễ dàng, chẳng hạn như cấp độ DEBUg hay CẢNH BÁO, làm cho hệ thống ghi chép có tính điều chỉnh và điều chỉnh cao.

Lợi ích của việc dùng dây chuyền trách nhiệm trong việc trộm cắp

  • Khả năng:[FLT: 1] dễ dàng thêm hay gỡ bỏ bộ quản lý mà không ảnh hưởng đến các phần khác của hệ thống.
  • Sự phân chia các mối quan tâm:) mỗi người quản lý quản lý một mức độ ghi lưu cụ thể hoặc định dạng riêng.
  • Khả năng xử lý bản ghi mới có thể được tích hợp một cách trơn tru.
  • Khả năng phục hồi: Rõ ràng cấu trúc đơn giản hóa việc gỡ lỗi và cập nhật.

Kết luận

Chuỗi các mẫu trách nhiệm cung cấp một giải pháp thanh lịch để tạo ra một hệ thống ghi chép linh hoạt, dễ uốn nắn. Bằng cách tách rời các phép tính ghi chép xử lý logic và dễ dàng mở rộng, nó giúp các nhà phát triển xây dựng các ứng dụng mạnh mẽ để thích ứng với các yêu cầu phát triển.