Skip to content

Commit

Permalink
Update Chain-Of-Responsibility.md
Browse files Browse the repository at this point in the history
  • Loading branch information
nguyenphuc22 committed Dec 11, 2023
1 parent 7b73783 commit 7ce2400
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions Writerside/topics/Chain-Of-Responsibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,21 @@ classDiagram

## Ví dụ áp dụng Chain of Responsibility



Trong ví dụ này, mô hình Chain of Responsibility được áp dụng để xử lý quá trình xác thực và kiểm tra trong một hệ thống giả lập. Cụ thể, chúng ta có một số lớp con của `Test`, mỗi lớp thực hiện một kiểm tra cụ thể trong chuỗi xác thực:

1. **RawDataTest**: Kiểm tra dữ liệu thô, ví dụ kiểm tra định dạng email.
2. **UserExistsTest**: Kiểm tra xem người dùng có tồn tại trong hệ thống không.
3. **RoleTest**: Kiểm tra quyền của người dùng, ví dụ nhận diện admin.

Mỗi lớp này kế thừa từ `Test` và định nghĩa phương thức `check`, thực hiện kiểm tra riêng của mình và chuyển đến kiểm tra tiếp theo nếu cần.

Cách thức hoạt động:

- **Server**: Lưu trữ thông tin người dùng và quản lý chuỗi xác thực.
- **Demo**: Tạo và liên kết các kiểm tra, sau đó yêu cầu `Server` thực hiện quá trình đăng nhập, qua đó sử dụng chuỗi xác thực.

```mermaid
classDiagram
class Test {
Expand Down Expand Up @@ -149,19 +164,6 @@ classDiagram
Server --> Test : uses
```

Trong ví dụ này, mô hình Chain of Responsibility được áp dụng để xử lý quá trình xác thực và kiểm tra trong một hệ thống giả lập. Cụ thể, chúng ta có một số lớp con của `Test`, mỗi lớp thực hiện một kiểm tra cụ thể trong chuỗi xác thực:

1. **RawDataTest**: Kiểm tra dữ liệu thô, ví dụ kiểm tra định dạng email.
2. **UserExistsTest**: Kiểm tra xem người dùng có tồn tại trong hệ thống không.
3. **RoleTest**: Kiểm tra quyền của người dùng, ví dụ nhận diện admin.

Mỗi lớp này kế thừa từ `Test` và định nghĩa phương thức `check`, thực hiện kiểm tra riêng của mình và chuyển đến kiểm tra tiếp theo nếu cần.

Cách thức hoạt động:

- **Server**: Lưu trữ thông tin người dùng và quản lý chuỗi xác thực.
- **Demo**: Tạo và liên kết các kiểm tra, sau đó yêu cầu `Server` thực hiện quá trình đăng nhập, qua đó sử dụng chuỗi xác thực.

Test.java

```java
Expand Down

0 comments on commit 7ce2400

Please sign in to comment.