Include vs Extend – Vấn đề Use Case!
💡 Chào mừng bạn đến với thế giới của Use Case =))
Hôm nay, chúng ta sẽ khám phá hai mối quan hệ nổi tiếng nhất trong mô hình Use Case: <<include>>
và <<extend>>
. Hãy tưởng tượng đây là hai người bạn trong thế giới lập trình, mỗi người đều có sức cách hành xử riêng và mục tiêu đặc biệt.
1. <<include>>
– Người bạn "luôn luôn bên nhau"
<<include>>
là kiểu bạn đồng hành trung thành. Họ luôn xuất hiện mỗi khi bạn cần hoàn thành công việc. Đây là người mà bạn gọi khi muốn tái sử dụng những việc làm lặp đi lặp lại.
Ví dụ siêu đơn giản:
Hãy tưởng tượng bạn đang quản lý một trang web bán sách.
- Khi khách hàng đăng ký tài khoản, bạn luôn luôn cần thực hiện bước xác nhận email.
- Tương tự, khi xác nhận một đơn hàng, bạn cũng luôn luôn cần thực hiện phương thức xác nhận.
Tính cách của <<include>>
:
- Cần thiết: Không có họ, công việc sẽ không thể hoàn thành.
-
Cứu tinh của sự lặp lại: Nếu một hành động xuất hiện ở nhiều nơi? Gọi ngay cho
<<include>>
!
Ký hiệu:
Mũi tên đứt nét, có nhãn <<include>>
, trỏ từ Use Case chính đến Use Case được bao gồm.
📌 Tóm lại: <<include>>
là kiểu bạn không thể thiếu, luôn đi cùng bạn trên hành trình.
2. <<extend>>
– Người bạn "chỉ đến khi cần"
<<extend>>
lại là kiểu bạn đặc biệt, chỉ xuất hiện khi bạn thực sự cần. Họ là người mang đến sự tùy chọn trong các tình huống cụ thể.
Ví dụ siêu thực tế:
Quay lại trang web bán sách:
- Khi khách hàng thực hiện xem đơn hàng, họ có thể yêu cầu thêm tính năng hủy đơn hàng hoặc hoàn trả đơn hàng nếu muốn.
- Hoặc trong quá trình đăng nhập, nếu khách hàng quên mất mật khẩu, tính năng quên mật khẩu có thể được áp dụng để giảm lấy lại mật khẩu cho khách hàng.
Tính cách của <<extend>>
:
- Tùy chọn: Không phải lúc nào cũng cần đến họ.
- Linh hoạt: Chỉ xuất hiện khi điều kiện đặc biệt xảy ra.
Ký hiệu:
Mũi tên đứt nét, có nhãn <<extend>>
, trỏ từ Use Case mở rộng đến Use Case chính.
📌 Tóm lại: <<extend>>
là người bạn thêm "gia vị" cho cuộc sống của bạn khi cần thiết.
3. <<include>>
vs <<extend>>
– Ai là ai?
Tiêu chí | <<include>> |
<<extend>> |
---|---|---|
Khi nào dùng? | Khi một Use Case luôn cần Use Case khác. | Khi một Use Case có thể mở rộng hành vi của Use Case chính. |
Hành vi | Bắt buộc: Luôn được thực hiện. | Tùy chọn: Chỉ thực hiện khi điều kiện xảy ra. |
Mục đích | Tái sử dụng, giảm lặp lại. | Thêm chức năng đặc biệt, linh hoạt. |
Ví dụ | Gửi mail khi đăng ký tài khoản. | Quên mật khẩu khi đăng nhập. |
💡 Kết luận
-
<<include>>
giúp bạn tổ chức công việc hợp lý và không lặp lại chính mình. -
<<extend>>
mang đến sự linh hoạt và những trải nghiệm thú vị, cá nhân hóa hơn.
Dù là <<include>>
hay <<extend>>
, cả hai đều là những người đồng hành đáng tin cậy, những trợ thủ đắt lực trên trên hành trình thiết kế Use Case của bạn! 🚀
Top comments (0)