Table of Contents
Chuỗi của mẫu trách nhiệm là một mô hình thiết kế hành vi cho phép bạn gửi một yêu cầu cùng một chuỗi quản lý. Mẫu này đặc biệt hữu ích trong việc tạo các đường dẫn kiểm tra dữ liệu linh hoạt và tùy chỉnh, nơi mà nhiều bước hợp lệ có thể được thêm, gỡ bỏ, hoặc sắp xếp lại dễ dàng.
Hiểu về sự ràng buộc của gương mẫu trách nhiệm
Ý tưởng chính đằng sau mẫu này là để giảm thiểu việc gửi một yêu cầu từ người nhận nó bằng cách cho nhiều đối tượng một cơ hội để xử lý yêu cầu. các vật thể được liên kết trong một chuỗi, và mỗi người quyết định xử lý yêu cầu hoặc chuyển nó đi.
Đang kiểm tra đường ống
Để thực hiện một đường ống hợp lệ, tạo một loạt các lớp chứng nhận, mỗi người chịu trách nhiệm về một quy tắc hợp lệ nhất. Những bộ tạo chứng nhận này được liên kết với nhau, tạo một chuỗi dữ liệu đi qua. Nếu bộ tạo chứng nhận phát hiện dữ liệu không hợp lệ, nó có thể dừng tiến trình hoặc xử lý lỗi phù hợp.
Tạo giao diện bộ kiểm tra
Định nghĩa một giao diện chung cho mọi bộ ký tự để đảm bảo độ nhất quán. Giao diện này nên bao gồm một phương pháp để đặt bộ ký tự kế tiếp và một phương pháp để xác thực dữ liệu.
Ví dụ trong PHP:
Bộ kiểm tra mặt đối mặt
) & nnbsp; & nnbsp; chức năng cộng đồng đặt kế tiếp (Cridator $vaidator):
&nbs;&np; chức năng công cộng (dota): bool; [FLT: 3]
Bộ kiểm tra đặc biệt
Mỗi bộ ký tự bê tông thực hiện giao diện bộ kiểm tra mật mã. Ví dụ, một bộ kiểm tra xem dữ liệu không rỗng không:
[FLT] [pTTTTTTTTTTTTTTTTTTTTTTTTTS [FpTTT] [FpTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT] [FLTTTTTTTTTTTTTTTTTP: 1] & n] [Fn]; [Fn&p&p; p]; p&p; pp&p; pp&n; pp; pp&n]; pppppp; pp&n] :15] & nnbsp; && nnsp;& nnbsp;& nnbsp;& nnbsp; [FL: 17] & nnbp&p; [n&p & n]; [Fp]; [LTp&p & n]; thực sự, [L & ln];[Fnsp&p];[Fnsp&n];ns&nbs&nbbs & nm;;;;;n&p&p&p;;;;; [p&p&p &n;;;; thực sự trở lại: 18p &p]; Pp]
Xây dựng một chuỗi kiểm tra mật độ khó bẻ
Để tạo một đường ống hợp lệ, các đối tượng hợp lệ hoá tức thời và liên kết chúng lại với nhau bằng phương pháp thiết lập kế kế kế tiếp. Tính năng này cho phép cấu hình hoạt động các bước thẩm tra dựa trên các yêu cầu cụ thể.
Ví dụ:
[N dâng hiến không phải là epty Validator = mới NomptyValidator];)
:$mail Validator = thư điện tử mới ();)
Không phải là EmptyValidator-> đặt kế tiếp ($mailValidator);
Thiết lập này đảm bảo dữ liệu được kiểm tra lần đầu tiên để tìm sự trống rỗng, sau đó xác nhận là thư điện tử nếu lần đầu tiên được gửi.
Lợi ích của việc dùng gương mẫu
- Đường ống chứng nhận dễ đi và động
- Dễ dàng thêm, xoá, hoặc sắp xếp lại bước đã chọn
- Giải mã logic hợp lệ từ tiến trình dữ liệu
- Tăng cường khả năng bảo trì mã và khả năng tăng cường
Bằng cách thực hiện chuỗi của mô hình trách nhiệm, các nhà phát triển có thể tạo ra các hệ thống thống thống thống thống thống thống thống định tính năng mạnh và thích nghi mà đáp ứng hiệu quả các ứng dụng cần thiết.