10 Nhân viên bếp | - Chế biến món ăn trong bếp -Quản lý nhân viên 1.4 Các Use case trong hệ thông UC01 | Thêm bản Nhân viên tạo thêm bàn để đáp ứng nhu cầu về số lượng k
Sơ đồ Use case 5 52212212 2122121122112 rey 9
—— Nhân viên Nhân viên bản hàng ———
Bang | So dé Use Case
1.3 Cac tac nhan trong hé thong
STT Tac nhan Mo ta
-Là người có nhiệm vụ quản lý bàn và đặt món cho khách Nhân viên bản `
Nhân viên bếp | - Chế biến món ăn trong bếp
Quản lý - Đăng thông báo cho nhân viên
-Quản lý nhân viên 1.4 Các Use case trong hệ thông
ID Tên UseCase Mo ta
UC01 | Thêm bản Nhân viên tạo thêm bàn để đáp ứng nhu cầu về số lượng khách
UC02 Xoa ban Nhân viên xoá bàn khi không có khách hoặc muốn sắp xép lại các bàn
UC03 | Sửa bản Nhân viên thay đôi thông tin của bàn(ID, tên ban)
UC04 Cập nhật trạng thái của bàn | Nhân viên cập nhật tình trạng của bàn (bàn trồng, bàn đã được đặt trước, bàn đang được sử dụng)
UC05 Đặt món Nhân viên đặt món ăn mà khách hàng mong muốn đề chế biến UC06 Chọn nước uéng Nhân viên chọn nước uống cho khách hàng UC07 Chọn thức ăn Nhân viên chọn thức ăn cho khách hàng
UC08 | Thanh toán Nhân viên tiến hành thu tiền thanh toán từ khách hàng UC09 Thêm nhân viên Quản lý thêm nhân viên mới vào cửa hàng UCI0 Xoá nhân viên cửa hàng Quản lý xoá bỏ thông tin nhân viên khỏi
UCII | Sửa nhân viên Quản lý sửa đối thông tin nhân viên, có thé cập nhật tình trạng cấp bậc của nhân viên(thăng chức, hạ chức) UCI2 Đăng thông báo Quản lý đăng thông báo mới cho cửa hàng UCI3 Xoá thông báo Quản lý xoá thông báo đã đăng
UC14 Chế biến món ăn Nhân viên bếp chế biến món ăn theo thông tin mà nhân viên bán hàng gửi
Ngữ cảnh | Nhân viên tạo thêm bàn mới khi quản đông
Mo ta Nhân viên tạo thêm bàn đê đáp ứng nhu câu về số lượng khách Tác nhân | Nhân viên bán hàng
Sự kiện Muôn tạo thêm bàn kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Thêm bàn thành công
Luông sự System kién 1.Nhân viên vào quan li ban 1.1 Hé thong hién thi cac ban hién can thém
2 Nhân viên nhập thông tin ban có
3 Nhân viên chọn “thêm” 3.1 Bàn mới được tạo
Bang 2 Dac ta UseCase Thém ban
Ngữ cảnh | Nhân viên xóa bản khi không cân thiết
Mo ta Nhân viên xoá bàn khi không có khách hoặc muôn sắp xếp lại các ban Tác nhân | Nhân viên bán hàng
Sự kiện Muôn xóa bàn kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Xóa bàn thành công
1.Nhân viên vào quan li ban 1.1 Hé thong hién thi cac ban hién
Luong sw có kiện 2 Nhân viên chọn bàn muốn xóa
3 Nhân viên chọn “Xóa” 3.1 Bản đã được xóa
Bảng 3 Đặc tả UseCase Xóa bàn
Ngữ cảnh Nhân viên muôn sửa thông tin ban
Mô ta Nhân viên thay đôi thông tin của bàn(ID, tên bàn)
Tác nhân | Nhân viên bán hàng
Sự kiện Muôn sửa bàn kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Sửa bàn thành công
1.Nhân viên vào quản lí bàn 1.1 Hệ thông hiện thị các bàn hiện có x 2 Nhân viên chọn bản muôn sửa 2.1 Hệ thống sẽ hiển thị thông tin Luông sự ban dé kién ance
3 Nhân viên nhập những thông tin cần chỉnh sửa
4 Nhân viên nhân nút “Sửa”
Bang 4: Dac ta UseCase Suwa ban
Use Case Cập nhật trạng thái bàn
Ngữ cảnh | Nhân viên muôn cập nhật trạng thai ban
Mo ta Nhân viên cập nhật tỉnh trạng của ban (ban trông, bàn đã được đặt trước, bàn đang được sử dụng)
Tác nhân | Nhân viên bán hàng
Sự kiện Muôn cập nhật trạng thái bàn kich hoat Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Bàn cập nhật trạng thái thành công
1.Nhân viên vào quan li ban 1.1 Hé thong hién thi cac ban hién
Nhân viên chọn bàn muốn cập nhật trạng thái Hệ thống sẽ hiển thị những nhật trạng thái (bàn trông, bàn đã bàn đã cập nhật trạng thái/ được đặt trước, bàn đang được sử dụng).
Bảng 5 Đặc tả UseCase Cập nhật trạng thái ban
Mô tả Nhân viên đặt món ăn mà khách hàng mong muôn đê chế biên Tác nhân | Nhân viên bán hàng
Sự kiện Muôn chọn đặt món kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Vào gioa diện đặt món
1.Nhân viên vào chức năng đặt
1.1 Hệ thông hiển thị các lựa chọn đặt món gôm nước uông và thức món kiện ăn
Bang 6 Dac ta UseCase Dat mon
Use Case Chọn nước uông
Ngữ cảnh | Nhân viên chọn thức uông mà khách hàng đặt
Mo ta Nhân viên chọn nước uống cho khách hàng
Tác nhân | Nhân viên bán hàng
Sự kiện Nhân viên chọn chọn vào bảng thức uống kích hoạt Điều kiện tiên quyết
Truy cập vào bảng chọn nước uông
Kết quả — | Giá tiên và chỉ tiết món đặt hiện ra
1.Nhân viên vào “Đặt món” 1.1 Hệ thông hiển thị bảng lựa
Luông sự chọn thức ăn và nước uống kiện + Nhân viên chon vao phần thức 2.1 Hé thong sẽ hiển thị chỉ tiết và uông và chọn các món mà khách giá tỉ An các món mà nhân viên hàng yêu cầu chọn
Bảng 7 Đặc tả UseCase Chọn nước uông
Use Case Chọn thức ăn
Ngữ cảnh | Nhân viên chọn thức ăn mà khách hàng đặt
Mô tả Nhân viên chọn thức ăn cho khách hàng
Tác nhân | Nhân viên bán hàng
Sự kiện Nhân viên chọn chọn vào bảng thức ăn kích hoạt Điều kiện tiên quyết
Truy cập vào bảng chọn nước uông
Kết quả — | Giá tiên và chỉ tiết món đặt hiện ra
1.Nhân viên vào “Đặt món” 1.1 Hệ thông hiển thị bảng lựa
Luông sự chọn thức ăn và nước uống kiện 2 Nhân viên chọn vào phần thức 2.1 Hệ thống sẽ hiền thị chỉ tiết và ăn và chọn các món mà khách giá tiền các món mà nhân viên hàng yêu cầu chọn
Bảng 8 Đặc tả UseCase Chọn thức ăn
Ngữ cảnh | Nhân viên thanh toán hoá đơn cho khách hàng
Mô tả Nhân viên tiên hành thu tiên thanh toán từ khách hàng gôm các loại thanh toán (tiền mặt, thẻ ngân hang, ví điện tử)
Tác nhân | Nhân viên bán hàng
Sự kiện Nhân viên nhân nút “Thanh toán” kích hoạt Điều kiện tiên quyết
Nhân viên đã chọn xong món mà khách hàng đặt
Ket qua Thanh toán thành công
1.Nhân viên nhân nút thanh toán ở | 1.1 Hé thong hién thi giao diện giao diện “Đặt món” trang thanh toán gồm có số tiền cần trả sự > Nhân viên chọn loại thanh toán 2.1 Hệ thống sẽ hiển thị tiền tiền Ỹ và nhập sô tiên nhận thừa
3 Nhân viên nhân “Hoàn tắt thanh | 3.1 Hệ thống sẽ báo “Thành công” toán”
Bang 9 Dac ta UseCase Thanh toán
Use Case Thêm nhân viên
Ngữ cảnh | Quản lí muôn thêm nhân viên mới
Mô tả Quản lý thêm nhân viên mới vào cửa hàng
Sự kiện Muôn thêm nhân viên kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Thêm nhân viên thành công
Luông sự Actor System kién 1.Quan lí vào quản lí nhân viên 1.1 Hệ thông hiện thị các nhân
2 Quản lí nhập thông tin nhân viên mới và chọn “thêm” viên có trong hệ thông
2.1 Hệ thống sẽ hiện thị nhân viên mới trong danh sách
Bảng 10 Đặc tả UseCase Thêm nhân viên
Use Case Xoá nhân viên
Ngữ cảnh | Quản lí muôn xoá I nhân viên ra khỏi hệ thông
Mô tả Quản lý muôn xoá nhân viên khỏi cửa hàng
Sự kiện Muôn xoá nhân viên kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Ket qua Sua ban thành công
1.Quan lí vào quản lí nhân viên 1.1 Hệ thông hiến thị các nhân viên có trong hệ thống
Luong sw a |r ân viên cÄ ⁄ „ sa 2 Quản lí chọn nhân viên cân xoá 2.1 Hệ thông sẽ hiện thị thông tin kiện nhân viên
3 Quản lí chọn “Sa thai” đề xoá nhân viên 3.1 Hệ thông sẽ xoá nhân viên ra khỏi danh sách Ngoại lệ Không
Bảng II Đặc tả UseCase Xoá nhân viên
Use Case Sửa nhân viên
Ngữ cảnh | Quản lí muốn sửa thông tin nhân viên
Mo ta Quản lý sửa đôi thông tin nhân viên, có thê cập nhật tình trạng cấp bậc của nhân viên(thăng chức, hạ chức)
Sự kiện Muôn thay đôi thông tin nhân viên kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Thông tin nhân viên thay đôi
1.Quản lí vào quản lí nhân viên 1.1 Hệ thông hiện thị các nhân viên có trong hệ thống
2 Quản lí chọn nhân viên cân sửa 2.1 Hệ thống sẽ hiện thị thông tin
Luồng sự nhân viên kiện 3 Quán lí nhập thông tin cần chỉnh sửa (Có thê thăng chức và hạ chức nhân viên)
4 Quản lí nhân nút “Sửa”
4.1 Thông tin nhân viên thay đôi trong hệ thống
Bảng I2 Đặc tả UseCase Sửa nhân viên
Use Case Dang thong bao
Ngữ cảnh | Quán lí muôn đăng thông báo về cửa hang cho nhân viên và khách hàng biết
Mo ta Quản lý đăng thông báo mới cho cửa hàng
Sự kiện Muôn đăng thông báo kích hoạt Điều kiện | Truy cập vào quản lí nhân viên tiên quyết
Kết quả Đăng thông báo thành công
1.Quản lí vào “Quản lí nhân viên” | 1.1 Hé thông hiện thị mục đăng
Luong sự thông báo dưới danh sách nhân kiện viên
2 Quản lí nhập thông báo muôn 2.1 Hệ thống sẽ hiền thi thong bao đăng vào ô textbox quản lí nhập lên
Bang 13 Dac ta UseCase Dang thong bao
Use Case Xoa théng bao
Ngữ cảnh | Quản lí muôn xoá thông báo đã đăng
Mo ta Quan ly xoa théng bao da dang
Sự kiện Xoá thông báo đã đăng kích hoạt Điều kiện | Truy cập vào hệ thông tiên quyết
Kết quả Xoá thông báo thành công
1.Sau khi đăng thông báo, quản lí | 1.1 Hệ thông sẽ xoá thông báo vừa
Luong sy chon nút “Xoá thông báo” đăng kiện
Bang 14 Dac ta UseCase Xoa thong bao
Use Case | Chế biến món ăn
Ngữ cảnh | Nhân viên bếp khi nhập được đơn từ nhân viên bán hàng
Mo ta Nhân viên bếp chê biên món ăn theo thông tin mà nhân viên bán hàng Tác nhân | Nhân viên bếp gửi
Sự kiện Chế biển món ăn kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Chê biên món ăn thành công
1 Nhân viên bêp chọn vào “Quản | 1.1 Hé thong hién thị món ăn có
Luong sy li khu bép” trong hé thong kién 2 Nhân viên chọn món ăn cần chế biên 2.1 Hệ thống sẽ hiển thị công thức chê biên món đó
Bang 15 Dac ta UseCase Chế biến món ăn
Khi khách hàng đến mua món ăn nhanh mà họ muốn, nhân viên sẽ chọn các món mà khách hàng mong muôn thông qua màn hình của nhân viên, sau đó xem trạng thái bàn đề biết còn bản nào phù hợp dé sắp xếp cho khách hàng Sau khi đã chọn món ăn khách hàng cần, nhân viên sẽ gửi yêu cầu xuống bếp đề nhân viên bếp thực hiện các món ăn đó
1.7 Giao diện của ứng dụng: sẼ ManagerScreen o Đặt Món as
Quan If nhan viễn lsage Khu Bếp
Hình I Giao diện hiện thị các chức năng chính của hệ thông
Hiển thị các chức năng mà hệ thống có như Đặt món, Quản lí nhân viên, Khu bếp, Quản lí bàn a OrderScreen - o x
Tương ớt + Gà rán + Vịp_ 1
Gà rán Hamburger Pizza Tương cà
Khoai tây chiến Bánh ngọt
Pepsi Coca Trả sữa Banh flan
+ Ga ran + Vi phd mai + Khoai tay chien
Hình 2 G1ao diện đặt món ăn
Sau khi chọn chức năng Đặt món sẽ có giao diện nhự hình trên, tại đây có thê chọn các thức ăn hoặc thức uống có trên màn hình, có thể chọn thêm Phần thêm hoặc Topping Có thể nhập số lượng món ăn cần mua, hiển thị tống giá tiền cần phải thanh toán và có thể huỷ món ăn hoặc huỷ đơn.
Hình 3 Giao diện khi thanh toán
Khi đã chọn xong món tiến hành đến việc thanh toán Ở đây có thê thanh toán bằng tiền mặt, thẻ tín dụng, Momo aB PaymentScreen
Hinh 4 Giao dién khi hoan tat thanh toan
Khi chọn phương thức thanh toán thì nhập số tiền nhận từ khách hàng và nhắn “Hoàn tất thanh toán” thì hệ thống sẽ tính số tiền thừa cần hoàn trả lại cho khách
Thông báo nép bãi i Email
3reletete phó: class Jelly : NilkTeadecorator Tes ae
? pubLic Je11y(TWiLETea milktea) : baseCuilktea)
| ¡ va Lic override String dotilkTeat) Thêm ee | Hang Ove —
String type = base doMilkTeaC); NhânViên TrêngTin return type + addJeLly(); | | He One
1 Thông báo nộp hải return 5000 + base.Cost();
Rang Xỏằ © Noitcsestourd + Thông Thông
Value Hình 5 Giao diện quản lý nhân viênoe Đây là giao diện quản lý nhân viên dành cho quản lý Tại đây quản lý có thê có các thao tác như Thêm nhân viên mới, Sửa thông tin nhân viên, sa thải nhân viên, tăng chức hoặc hạ chức nhân viên Tại đây quản lý cũng có thê đăng thông báo cho cho nhân viên khi cần thiết
Chuẩn bị cánh gà, đùi gà, ức gà và gia vị -> Tẩm gia vị vào Pizza Thập cẩm gà -> Bỏ gà vào chảo chiên ->
Thêm vị phô mai vào gà
Hình 6 Giao diện chế biến món ăn ở Khu bếp
Khi chọn vào mục "Khu bếp", giao diện sẽ hiển thị đa dạng món ăn để bạn lựa chọn chế biến Sau khi chọn một món ăn, hệ thống sẽ hướng dẫn chi tiết cách thức thực hiện món ăn đó.
Còn Trống Còn Trống ut
Còn Trống Còn Trống Còn Trống
Tên Bàn s Bàn 12 Bàn 14 Bàn 15 Trạng Thái
‘) Còn Trống Còn Trống Còn Trống Thêm Sửa Xóa
Hình 7 Cao diện quản lý bản
Tại giao điện quan ly bản thì nhân viên có thể thêm bàn, sửa thông tin bàn, xoá bản đề phù hợp với các tình huống khách hàng khác nhau Nhân viên cũng có thể cập nhật trạng thái của bàn trong cửa hàng như Bàn Trồng, bàn Đã đặt trước, bàn Đang được sử dụng
2-CÁC MẪU THIẾT KẺ ĐƯỢC SỬ DỤNG
View view: DeviceObserver view: Kitchenscreen
+Command Pattern +Decorator Pattern +ObserverNotification +StatePatternForManagerTable +StrategyForPayment +TemplateMethodPattern +Manage()
Update -model: HoaDonMadel model: TableModel
Hình 8 Sơ đồ lớp MVC Pattern
Lý do áp dụng: Áp dụng MVC (Model - View - Controller) để đễ dàng thao tác dữ liệu giữa Frontend va Backend, dé dang hon trong viéc kiém tra, phat hién 16i để đảm bảo chất lượng phần mềm có kết quả cao hơn
Hinh 9 So dé lép Singleton Pattern
Các Use case trong hệ thống .- 1S SE EE E122 1121 11122111 tra 10
ID Tên UseCase Mo ta
UC01 | Thêm bản Nhân viên tạo thêm bàn để đáp ứng nhu cầu về số lượng khách
UC02 Xoa ban Nhân viên xoá bàn khi không có khách hoặc muốn sắp xép lại các bàn
UC03 | Sửa bản Nhân viên thay đôi thông tin của bàn(ID, tên ban)
UC04 Cập nhật trạng thái của bàn | Nhân viên cập nhật tình trạng của bàn (bàn trồng, bàn đã được đặt trước, bàn đang được sử dụng)
UC05 Đặt món Nhân viên đặt món ăn mà khách hàng mong muốn đề chế biến UC06 Chọn nước uéng Nhân viên chọn nước uống cho khách hàng UC07 Chọn thức ăn Nhân viên chọn thức ăn cho khách hàng
UC08 | Thanh toán Nhân viên tiến hành thu tiền thanh toán từ khách hàng UC09 Thêm nhân viên Quản lý thêm nhân viên mới vào cửa hàng UCI0 Xoá nhân viên cửa hàng Quản lý xoá bỏ thông tin nhân viên khỏi
UCII | Sửa nhân viên Quản lý sửa đối thông tin nhân viên, có thé cập nhật tình trạng cấp bậc của nhân viên(thăng chức, hạ chức) UCI2 Đăng thông báo Quản lý đăng thông báo mới cho cửa hàng UCI3 Xoá thông báo Quản lý xoá thông báo đã đăng
UC14 Chế biến món ăn Nhân viên bếp chế biến món ăn theo thông tin mà nhân viên bán hàng gửi
Ngữ cảnh | Nhân viên tạo thêm bàn mới khi quản đông
Mo ta Nhân viên tạo thêm bàn đê đáp ứng nhu câu về số lượng khách Tác nhân | Nhân viên bán hàng
Sự kiện Muôn tạo thêm bàn kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Thêm bàn thành công
Luông sự System kién 1.Nhân viên vào quan li ban 1.1 Hé thong hién thi cac ban hién can thém
2 Nhân viên nhập thông tin ban có
3 Nhân viên chọn “thêm” 3.1 Bàn mới được tạo
Bang 2 Dac ta UseCase Thém ban
Ngữ cảnh | Nhân viên xóa bản khi không cân thiết
Mo ta Nhân viên xoá bàn khi không có khách hoặc muôn sắp xếp lại các ban Tác nhân | Nhân viên bán hàng
Sự kiện Muôn xóa bàn kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Xóa bàn thành công
1.Nhân viên vào quan li ban 1.1 Hé thong hién thi cac ban hién
Luong sw có kiện 2 Nhân viên chọn bàn muốn xóa
3 Nhân viên chọn “Xóa” 3.1 Bản đã được xóa
Bảng 3 Đặc tả UseCase Xóa bàn
Ngữ cảnh Nhân viên muôn sửa thông tin ban
Mô ta Nhân viên thay đôi thông tin của bàn(ID, tên bàn)
Tác nhân | Nhân viên bán hàng
Sự kiện Muôn sửa bàn kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Sửa bàn thành công
1.Nhân viên vào quản lí bàn 1.1 Hệ thông hiện thị các bàn hiện có x 2 Nhân viên chọn bản muôn sửa 2.1 Hệ thống sẽ hiển thị thông tin Luông sự ban dé kién ance
3 Nhân viên nhập những thông tin cần chỉnh sửa
4 Nhân viên nhân nút “Sửa”
Bang 4: Dac ta UseCase Suwa ban
Use Case Cập nhật trạng thái bàn
Ngữ cảnh | Nhân viên muôn cập nhật trạng thai ban
Mo ta Nhân viên cập nhật tỉnh trạng của ban (ban trông, bàn đã được đặt trước, bàn đang được sử dụng)
Tác nhân | Nhân viên bán hàng
Sự kiện Muôn cập nhật trạng thái bàn kich hoat Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Bàn cập nhật trạng thái thành công
1.Nhân viên vào quan li ban 1.1 Hé thong hién thi cac ban hién
Luong sw có kiện 2 Nhân viên chọn ban muốn cập 2.1 Hệ thống sẽ hiển thị những nhật trạng thái (bàn trông, bàn đã bàn đã cập nhật trạng thái/ được đặt trước, bàn đang được sử dụng)
Bảng 5 Đặc tả UseCase Cập nhật trạng thái ban
Mô tả Nhân viên đặt món ăn mà khách hàng mong muôn đê chế biên Tác nhân | Nhân viên bán hàng
Sự kiện Muôn chọn đặt món kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Vào gioa diện đặt món
1.Nhân viên vào chức năng đặt
1.1 Hệ thông hiển thị các lựa chọn đặt món gôm nước uông và thức món kiện ăn
Bang 6 Dac ta UseCase Dat mon
Use Case Chọn nước uông
Ngữ cảnh | Nhân viên chọn thức uông mà khách hàng đặt
Mo ta Nhân viên chọn nước uống cho khách hàng
Tác nhân | Nhân viên bán hàng
Sự kiện Nhân viên chọn chọn vào bảng thức uống kích hoạt Điều kiện tiên quyết
Truy cập vào bảng chọn nước uông
Kết quả — | Giá tiên và chỉ tiết món đặt hiện ra
1.Nhân viên vào “Đặt món” 1.1 Hệ thông hiển thị bảng lựa
Hệ thống sẽ hiển thị chi tiết các món ăn và đồ uống mà nhân viên đã chọn vào phần thức ăn và nước uống Sau đó, khách hàng chỉ cần chọn các món mà họ yêu cầu để nhân viên phục vụ đem ra.
Bảng 7 Đặc tả UseCase Chọn nước uông
Use Case Chọn thức ăn
Ngữ cảnh | Nhân viên chọn thức ăn mà khách hàng đặt
Mô tả Nhân viên chọn thức ăn cho khách hàng
Tác nhân | Nhân viên bán hàng
Sự kiện Nhân viên chọn chọn vào bảng thức ăn kích hoạt Điều kiện tiên quyết
Truy cập vào bảng chọn nước uông
Kết quả — | Giá tiên và chỉ tiết món đặt hiện ra
1.Nhân viên vào “Đặt món” 1.1 Hệ thông hiển thị bảng lựa
Luông sự chọn thức ăn và nước uống kiện 2 Nhân viên chọn vào phần thức 2.1 Hệ thống sẽ hiền thị chỉ tiết và ăn và chọn các món mà khách giá tiền các món mà nhân viên hàng yêu cầu chọn
Bảng 8 Đặc tả UseCase Chọn thức ăn
Ngữ cảnh | Nhân viên thanh toán hoá đơn cho khách hàng
Mô tả Nhân viên tiên hành thu tiên thanh toán từ khách hàng gôm các loại thanh toán (tiền mặt, thẻ ngân hang, ví điện tử)
Tác nhân | Nhân viên bán hàng
Sự kiện Nhân viên nhân nút “Thanh toán” kích hoạt Điều kiện tiên quyết
Nhân viên đã chọn xong món mà khách hàng đặt
Ket qua Thanh toán thành công
Nhân viên bấm nút "Thanh toán" trên giao diện "Đặt món" để mở ra trang thanh toán hiển thị số tiền cần trả Sau đó, nhân viên lựa chọn hình thức thanh toán và nhập số tiền nhận thừa Hệ thống sẽ hiển thị số tiền thừa cần trả lại cho khách hàng.
3 Nhân viên nhân “Hoàn tắt thanh | 3.1 Hệ thống sẽ báo “Thành công” toán”
Bang 9 Dac ta UseCase Thanh toán
Use Case Thêm nhân viên
Ngữ cảnh | Quản lí muôn thêm nhân viên mới
Mô tả Quản lý thêm nhân viên mới vào cửa hàng
Sự kiện Muôn thêm nhân viên kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Thêm nhân viên thành công
Luông sự Actor System kién 1.Quan lí vào quản lí nhân viên 1.1 Hệ thông hiện thị các nhân
2 Quản lí nhập thông tin nhân viên mới và chọn “thêm” viên có trong hệ thông
2.1 Hệ thống sẽ hiện thị nhân viên mới trong danh sách
Bảng 10 Đặc tả UseCase Thêm nhân viên
Use Case Xoá nhân viên
Ngữ cảnh | Quản lí muôn xoá I nhân viên ra khỏi hệ thông
Mô tả Quản lý muôn xoá nhân viên khỏi cửa hàng
Sự kiện Muôn xoá nhân viên kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Ket qua Sua ban thành công
1.Quan lí vào quản lí nhân viên 1.1 Hệ thông hiến thị các nhân viên có trong hệ thống
Luong sw a |r ân viên cÄ ⁄ „ sa 2 Quản lí chọn nhân viên cân xoá 2.1 Hệ thông sẽ hiện thị thông tin kiện nhân viên
3 Quản lí chọn “Sa thai” đề xoá nhân viên 3.1 Hệ thông sẽ xoá nhân viên ra khỏi danh sách Ngoại lệ Không
Bảng II Đặc tả UseCase Xoá nhân viên
Use Case Sửa nhân viên
Ngữ cảnh | Quản lí muốn sửa thông tin nhân viên
Mo ta Quản lý sửa đôi thông tin nhân viên, có thê cập nhật tình trạng cấp bậc của nhân viên(thăng chức, hạ chức)
Sự kiện Muôn thay đôi thông tin nhân viên kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Thông tin nhân viên thay đôi
1.Quản lí vào quản lí nhân viên 1.1 Hệ thông hiện thị các nhân viên có trong hệ thống
2 Quản lí chọn nhân viên cân sửa 2.1 Hệ thống sẽ hiện thị thông tin
Luồng sự nhân viên kiện 3 Quán lí nhập thông tin cần chỉnh sửa (Có thê thăng chức và hạ chức nhân viên)
4 Quản lí nhân nút “Sửa”
4.1 Thông tin nhân viên thay đôi trong hệ thống
Bảng I2 Đặc tả UseCase Sửa nhân viên
Use Case Dang thong bao
Ngữ cảnh | Quán lí muôn đăng thông báo về cửa hang cho nhân viên và khách hàng biết
Mo ta Quản lý đăng thông báo mới cho cửa hàng
Sự kiện Muôn đăng thông báo kích hoạt Điều kiện | Truy cập vào quản lí nhân viên tiên quyết
Kết quả Đăng thông báo thành công
1.Quản lí vào “Quản lí nhân viên” | 1.1 Hé thông hiện thị mục đăng
Luong sự thông báo dưới danh sách nhân kiện viên
2 Quản lí nhập thông báo muôn 2.1 Hệ thống sẽ hiền thi thong bao đăng vào ô textbox quản lí nhập lên
Bang 13 Dac ta UseCase Dang thong bao
Use Case Xoa théng bao
Ngữ cảnh | Quản lí muôn xoá thông báo đã đăng
Mo ta Quan ly xoa théng bao da dang
Sự kiện Xoá thông báo đã đăng kích hoạt Điều kiện | Truy cập vào hệ thông tiên quyết
Kết quả Xoá thông báo thành công
1.Sau khi đăng thông báo, quản lí | 1.1 Hệ thông sẽ xoá thông báo vừa
Luong sy chon nút “Xoá thông báo” đăng kiện
Bang 14 Dac ta UseCase Xoa thong bao
Use Case | Chế biến món ăn
Ngữ cảnh | Nhân viên bếp khi nhập được đơn từ nhân viên bán hàng
Mo ta Nhân viên bếp chê biên món ăn theo thông tin mà nhân viên bán hàng Tác nhân | Nhân viên bếp gửi
Sự kiện Chế biển món ăn kích hoạt Điều kiện tiên quyết
Truy cập vào hệ thông
Kết quả Chê biên món ăn thành công
1 Nhân viên bêp chọn vào “Quản | 1.1 Hé thong hién thị món ăn có
Luong sy li khu bép” trong hé thong kién 2 Nhân viên chọn món ăn cần chế biên 2.1 Hệ thống sẽ hiển thị công thức chê biên món đó
Bang 15 Dac ta UseCase Chế biến món ăn
Khi khách hàng đến mua món ăn nhanh mà họ muốn, nhân viên sẽ chọn các món mà khách hàng mong muôn thông qua màn hình của nhân viên, sau đó xem trạng thái bàn đề biết còn bản nào phù hợp dé sắp xếp cho khách hàng Sau khi đã chọn món ăn khách hàng cần, nhân viên sẽ gửi yêu cầu xuống bếp đề nhân viên bếp thực hiện các món ăn đó
1.7 Giao diện của ứng dụng: sẼ ManagerScreen o Đặt Món as
Quan If nhan viễn lsage Khu Bếp
Hình I Giao diện hiện thị các chức năng chính của hệ thông
Hiển thị các chức năng mà hệ thống có như Đặt món, Quản lí nhân viên, Khu bếp, Quản lí bàn a OrderScreen - o x
Tương ớt + Gà rán + Vịp_ 1
Gà rán Hamburger Pizza Tương cà
Khoai tây chiến Bánh ngọt
Pepsi Coca Trả sữa Banh flan
+ Ga ran + Vi phd mai + Khoai tay chien
Hình 2 G1ao diện đặt món ăn
Sau khi chọn chức năng Đặt món sẽ có giao diện nhự hình trên, tại đây có thê chọn các thức ăn hoặc thức uống có trên màn hình, có thể chọn thêm Phần thêm hoặc Topping Có thể nhập số lượng món ăn cần mua, hiển thị tống giá tiền cần phải thanh toán và có thể huỷ món ăn hoặc huỷ đơn.
Hình 3 Giao diện khi thanh toán
Khi đã chọn xong món tiến hành đến việc thanh toán Ở đây có thê thanh toán bằng tiền mặt, thẻ tín dụng, Momo aB PaymentScreen
Hinh 4 Giao dién khi hoan tat thanh toan
Khi chọn phương thức thanh toán thì nhập số tiền nhận từ khách hàng và nhắn “Hoàn tất thanh toán” thì hệ thống sẽ tính số tiền thừa cần hoàn trả lại cho khách
Thông báo nép bãi i Email
3reletete phó: class Jelly : NilkTeadecorator Tes ae
? pubLic Je11y(TWiLETea milktea) : baseCuilktea)
| ¡ va Lic override String dotilkTeat) Thêm ee | Hang Ove —
String type = base doMilkTeaC); NhânViên TrêngTin return type + addJeLly(); | | He One
1 Thông báo nộp hải return 5000 + base.Cost();
Rang Xỏằ © Noitcsestourd + Thông Thông
Value Hình 5 Giao diện quản lý nhân viênoe Đây là giao diện quản lý nhân viên dành cho quản lý Tại đây quản lý có thê có các thao tác như Thêm nhân viên mới, Sửa thông tin nhân viên, sa thải nhân viên, tăng chức hoặc hạ chức nhân viên Tại đây quản lý cũng có thê đăng thông báo cho cho nhân viên khi cần thiết
Chuẩn bị cánh gà, đùi gà, ức gà và gia vị -> Tẩm gia vị vào Pizza Thập cẩm gà -> Bỏ gà vào chảo chiên ->
Thêm vị phô mai vào gà
Hình 6 Giao diện chế biến món ăn ở Khu bếp
Khi chọn Khu bếp sẽ hiện thị giao diện chọn các món ăn chê biên Khi chọn vào món ăn thì sẽ hiển thị cách thức thực hiện món ăn đó sẼ TableManager = D x
Còn Trống Còn Trống ut
Còn Trống Còn Trống Còn Trống
Tên Bàn s Bàn 12 Bàn 14 Bàn 15 Trạng Thái
‘) Còn Trống Còn Trống Còn Trống Thêm Sửa Xóa
Hình 7 Cao diện quản lý bản
Tại giao điện quan ly bản thì nhân viên có thể thêm bàn, sửa thông tin bàn, xoá bản đề phù hợp với các tình huống khách hàng khác nhau Nhân viên cũng có thể cập nhật trạng thái của bàn trong cửa hàng như Bàn Trồng, bàn Đã đặt trước, bàn Đang được sử dụng
2-CÁC MẪU THIẾT KẺ ĐƯỢC SỬ DỤNG
View view: DeviceObserver view: Kitchenscreen
+Command Pattern +Decorator Pattern +ObserverNotification +StatePatternForManagerTable +StrategyForPayment +TemplateMethodPattern +Manage()
Update -model: HoaDonMadel model: TableModel
Hình 8 Sơ đồ lớp MVC Pattern
Lý do áp dụng: Áp dụng MVC (Model - View - Controller) để đễ dàng thao tác dữ liệu giữa Frontend va Backend, dé dang hon trong viéc kiém tra, phat hién 16i để đảm bảo chất lượng phần mềm có kết quả cao hơn
Hinh 9 So dé lép Singleton Pattern
Decorator Pattern icc
Sơ đồ lớp cho thức ăn(gà rán) ôinterfaceằ
+doChicken(): String +Cost(): double +addPotatoChick(): String
Hình 13 So dé lép Decorator Pattern (Ga rán)
So dé 1ép cho nuée uéng(tra sita) interfaceằ
EB +doMilkTea(): String +Cost(}: double ad ceee====-C a
+doMilkTea(): String +Cost(): double taddJelly(): String
+doMilkTea(): String +Cost(): double +addBubble(): String
Hình 14 Sơ đồ lớp Decorator Pattern(Tra sita)
Command Patffern - ch HH HH TH HH KH kg kh 34
+Command ButtonShow +Command EnableCmd +Command DisableCmd +Command ButtonHide +Command DefColor
+Button{] button +Button[] button +Button{] button
+execute() void +execute() void +execute(): void +execute(): void +execute(): void
Hình 15 Sơ đồ lớp Command Pattern
Command Pattern giúp quản lý tập trung các nút chọn món trong giao diện đặt món, bao gồm các thao tác bật, tắt, đổi màu, ẩn/hiện nút Điều này đơn giản hóa quá trình lập trình bằng cách tập hợp các lệnh liên quan đến nút vào một nơi, tránh trường hợp thiếu hoặc thừa lệnh (như quên bật hoặc tắt nút).
Template Method Pattern .- L Q 0 1221112 1n 1110111111211 kg 1x the, 35 3-CÁC FILE CHI TIẾT ĐƯỢC ỨNG DỤNG TRONG DEMO
#abstract preprocessing(): string | - - abstract prepairMaterial(): string
#abstract processing(: strng abstract preprocessing(): string
#abstract taste(string n): string abstract processingj): string
+prepareFood():string abstract taste(string n) string
#abstract prepairMaterial(): string #abstract prepairMaterial() string #abstract prepairMatenal(): string
#abstract preprocessing(): string #abstract preprocessing(): string #abstract preprocessing(): string
#abstract processing(): stnng #abstract processing(): string #abstract processing(): string
#abstract taste(string n): string #abstract taste(string n): string #abstract taste(string n): string
Hinh 16 So dé lép Template Method Pattern
Ly do ap dung: Template Method Pattern la mt quá trình bao gồm các bước theo thứ tự không thay đôi, và cũng có những bước thường xuyên thay đôi tuỳ vào nhu cầu Do đó ở đây dùng dé nêu ra một sô phương thức chung dùng đề chế biến các món ăn và việc thực hiện cụ thê các món ăn đó được nêu rõ ở môi món nêu cụ thê
3-CÁC FILE CHI TIẾT ĐƯỢC ỨNG DỤNG TRONG DEMO
3.1 MVC Pattern: Áp dụng MVC(Model-View-Controller) vào việc quản lý cỏc ủle đề dễ dàng thao tỏc hơn và trỏnh sự nhằm lẫn đề đạt hiệu quả cao hơn
34 fq Solution ‘Demo’ (1 of 1 project)
#8 Dependencies a_] Properties E1 ConfigDTB E1 Controller © Model
E View vv vr vv VY
Hình L7 Tên các file code và code st dung MVC Pattern
3.2 Singleton Pattern Được ỏp dụng trong việc tạo kết nối giữa cỏc thực thờ, sử dụng trong fủle ProvideDatabase.cs
13 private string connectionString = @"Data Source=(LocalDB)\MSSQLLocaLDB ; AttachDbFilename=D: \SUBJECTS\thuchanhmauthietke\cuoiky\sourc
23 m4 = public DataTable Query (string query, object[] param = null)
26 = using (SqlConnection connection = new SqlConnection(connectionString)) ~
E8JDemo + _Ê$ Demo.ConfigDTE.ProvideDatabase + ` #ẦconnectionString ~ +
26 using (SqlConnection connection = new SqlConnection(connectionstring))
29 SqlCommand cmd = new SqlCommand(query, connection); 3
43 a4 SqlDataddapter adapter = new SqlDataAdapter(cmd);
1% -& đo A2 + vd #ô ‘ ằ Lm9 Ch25 SPC CRLF
Hinh 18 Tén cac file code va code str dung Singleton Pattern
Str dung State Pattern trong việc quản ly trạng thái bàn, áp dụng mẫu thiết kế này trong cac file TabeFreeState.cs, TabelOrderedState.cs, TableContext.cs, TableState.cs, TableUsedState.cs
~ | 9gDemo.ControlierStatePattemForManagerTable TableUsedSt ~ _ Ếì returnSate()
=lsing Demo.ConfigDTB; using Demo.View; using System; using System.Collections Generic; using System.Ling; using System.Text;
{ 3 references public class TableUsedstate:Tablestate
System.Collections Generic; using Systen.Ling; using System Text;
TableState.cs TabelOrderedState.cs TabefreeState.cs
+ 4g Demo.ControllerStatePattemForManagerTable.TableContex ~ CAstate using System Threading Tasks; namespace Demo.Controller StatePatternForManagerTable
E Lic class TableContext private TableState state;
S references public void SetStatus(int id, Tablestate state)
{ int status = 0; this.state = state; Ẹ if(state 1s TabLeUsedState)
{ status = 1; else if(state is TableFreeState)
{ status = 0; else if (state is Tableorderedstate) £ status = 2; ®o AI! + Vv | ¥e r1 Ch: 1
TableUsedState.cs TableState.cs TableContext.cs TabelOrderedState.cs * = BEGG eitay * ® *
+ Â@$Demo.Contraller.StatePatternForManagerTable.TableOrciere ~ bP tle
Hé 19 = public class TableOrderedstate : TableState
91 % 2 @ No issues found Wô Chi SPC CRLF
TableUsedState.cs TableState.cs TableContextcs TabelOrderedState.cs TabeFreeState.cs + X ~ &
[Demo + #$Demo.Controller.StatePatternForManagerTable.TableFree5tz ~ ( retumSate0 ~+
91% ằ@ @ Noissues found Wô Lnr† Chỉ! SPC CRLF
Hình 19 Tên các file code và code str dung State Pattern
3.4 Observer Pattern Được sử dụng trong việc tạo thông báo của quản lý cho nhân viên Áp dụng mẫu thiết kế này trong cac file Iobserver.cs, IsubjectNotification.cs, Subject.cs
IObserver,cs +2 xÌ®© Demo.C ification.Subj 7 DRegister (Observer observer) 7
F i ~ using System.Collections.Generic; using System.Ling; using System Text; using system Threading Tasks;
EU 1i wa aa La elcome observer);
AM 13 void notify0bserver(string Notification) ;
Sbjecs TEA ener _ ~ _ ®$Demo,Controller.ObserverNotificatienISubjectNotification ~ | Gobservers x) ~
‘ollections.Generic; using An Lin
| using ae Tieoniligi: Tasks; namespace Demo.Controller.ObserverNotification
{ 5 refereoc a 9 a pubis class ISubjectNotification : Subject i
17 this.notification = "Chưa có thông bao";
2 6G public void ReplaceNotification(string noti)
25 Lreference public void RemoveNotification() x on &
Subject.cs aU tie uke amas IODSEVEr.CS + @
& ~ _ Ÿ$Demo.Centroller.ObserverNotification.SubjectNotification ~ observers - ˆ
28 „notification = "Chưa có thông bảo";
Mr 32 public void RegisterObserver(TObserver observer)
Mr 36 = public void UnregisterObserver(IObserver observer)
39 at ue public void notifyObserver(string Notification) al 42 foreach(IObserver observer in observers)
91% xi Noisuesfound #v ni Chỉ SPC CRLF mưme vax
Subject.cs ISubjectNotification.cs |iObservercs + X | +o
~ | ©© Demo.Controller.ObserverNotification.IObserver + @ Update(string Notification) ~ namespace Demo.Controller.ObserverNotification
M 11 public void Update(string Notification);
91% + @ @ Noissues found #ô Ln1 Chỉ! SPC CRLF
Hình 20 Tên các file code và code sử dụng Observer Pattern
3.5 Strategy Pattern Được sử dụng trong việc thanh toán Áp dụng mẫu thiết ké nay trong cac file ByCash.cs, Context.cs, CreditCard.cs, Momo.cs, Payment.cs
| 4 reference m@ oi public String methodPay(String n);
S references m 12 public Double pay(double a, double b);
15 x n5 — MMGSGENRON Cốc SOULS, 3 yng as demo + | %gDemo Controller StrategyForPayment MoMo bd | © methodPay(string n) x+
2references mo 9 œ1 public class MoMo : Payment
2 teferences m@ 11 8 public String methodPay(string n)
2 13 return "Thanh toan bang Momo";
2 references m 15 public double pay(double a, double b)
91% + @ Noisuesfound ¥~ Lat Chỉ! SPC CRLF
6 relerences mw © public void SetPayment(Payment strategy)
'ontext +| Gpayment xị$ rico wpupercire = — wit
Oreferences public Payment getPayment() return payment;
Sreferences public String methodPay(String n)
3referenices public double pay(double a, double b) return payment.pay(a, b);
1% ~@ 600 AI + v|i#‹- Lai Chỉ! = MIXED CRLF x
Payment.cs MoMo.cs CreditCard.cs Context.cs ByCash.c< Ẹ -®
E8lDemo ~ ®e Demo.Controller.StrategyForPayment.ByCash + Ÿ methodPay(string n) ~+
Lủ „ - public class ByCash : Payment
13 12 xeturn "Thanh toán bằng tiển mặt";
@ 1s public double pay(double a, double b)
1% ~@ @ No issues found LAÁA Ln1 Chị SPC CRLF
Payment cs MoMo.cs CreditCard.cs +ằ x [ACRES ByCash.cs +a
3) Demo ~ _ #$ Demo,Conrollsr.5trategyForPayment.CreditCard ~ @methodPay(string ni ~+
13 return "Thanh toan bang thé tin dung";
@ 15 public double pay(double a, double b)
91% +1@ © Noissues found CÁ z1 Chị! SPC CRLE
Hình 2l Tên các file code và code str dung Strategy Pattern
3.6 Decorator Pattern Được sử dụng trong việc thờm Phần thờm hoặc Topping Áp dụng trong cỏc ủle
CheeseTopping.cs, Chicken.cs, ChickenDecorator.cs, Ichicken.cs, PotatoChick.cs, SpicyFlavor.cs,
SweetCakeChick.cs, Hamburger.cs, HamburgerDecorator.cs, [hamburger.cs, MeatHamburger.cs, Vegetable Hamburger.cs, Bubble.cs, FlanCake.cs, GreenMilkTea.cs, ImilkTea.cs, Jelly.cs, MilkTea.cs, MilkTeaDecorator.cs, RedMilkTea.cs, ss “+ ca 6088 Z2) |
: 46 - ig Syste Line using Syatee Text,
[wedng System Mewading Tasks; spemeonarn,bee:corolt ep necaratareu re: chi chenmacnrton
@ ô9 ôpublic class SweetCalechick : ChickenDecorator te
1 3 publC 5®eetCaleCliek{IChiclsen chíckwen) : base(chicken)
} Bh Ae NGaatznlak#a-nbssreee ec public everride druble cost() Solution Explorer Gt anges return 3608 + base.cost(); vax etter private string aesmwetcake()
; =e Sree = | Search Solution Esplarer (Cit) FF)
2 Musing sy: ? i [using sy, ‘220005 sin teste umecesey , $© Sensee
: M% ` ĐuBXÍC €lAss UwortableMawburosr | HamburgrrOecoratar D OC™ SweetCaxeHiamcs: u Ỉ { Ð &C® VepeabieHamluf0et.G nà n \ 4 SBD MakteaDecorator
1 PC venlieeseeorsbesoyeslke0 base(tan) sọc
Mu - qblic override 3trìng đdeuabergerC) PSone a 3 { DOCH 9y
19 ‘String type = base.ddtasburger(); é AC*đ MửKTeics
9 return type + aadvetQ; ĐC MaxtesDecorators
= D AF Rethamtas ce _ a đơn Solution Eapferev Git Changes
# z 2B 4 + wblic override double Cost) f return bise.Cost(); Properties HamburgerDecorator folie Propetes ax
\ 1 “+ ©) @8 95-286 #=| lf 3 Ling: — " ` otk z 4 ing Syaten.Text;
` + naaespace Dene.ControLLer.Decoratorattern.WiLiuIeaðecorator
Fy; a i m public class ReumieTes 1 MLATeAaDecerator oe t
2 public RecMiliTeaCINi Lien milktea) : base(milktea)
3 { co as ì m ou nv public override string denttereaQ 1
28 ba borer = a 1 Sdution Exploer Git Changes wM z 2 > patie override double Cost() return T698 + base.Cost(); Properties MaxTesDecorator folder Froperbes vax
= Ahi aa Secale vs mrx © No aces to ¥ te) che) SPC CAF 1S plier lane AdMfesDecrvntor
Hinh 22 Tén các file code và code sử dung Decorator Pattern
The Command pattern is utilized to handle buttons, as well as disable and enable buttons within the toppings and add-on sections of an application This design pattern is implemented in the CommandBase.cs and RadioCommandBase.cs files.
Ez ae a ~ ` #&Demo.Controller.CommandPartern.CheckBoxCommandBase ~| items +
13 5 protected CheckBoxCommandBase(params CheckBox[] items)
17 11 references ew is public abstract void execute();
2ứ 2 ceterences et 21 a class ToppingOn : CheckBoxCommandBase
23 public ToppingOn(params CheckBox[] items) : baseCitems) { }
SB references ew © public override void execute()
25 2% © foreach (var button in items)
91% + @ © Noissues found | #+ Lni Chị! CRLF
Show output from: Debug ;l&|ọ&+lI=ia
The thread @xfa74 has exited with code ỉ (0x8) la!
The thnead 8xc178 has exited uith code 8 (8x0).
3 public Toppingoff(params Checksox[{] items) : base(items) { } gt 35 public override void execute()
37 foreach (var button in items)
43 } et du class CheckboxEnableCmd : CheckBoxCommandBase
46 public CheckboxEnableCmd(params Check8ox[] items) : base(items) { } et 47 = public override void execute()
49 foreach (var button in items)
@ 55 & class CheckboxDisablecmd : CheckBoxComnandBase s7 public CheckboxDisableCmd(params Check8ox[] items) : base(items) { }
Show output from: Debug ~|| oe | oe ae
The thread @xfa74 has exited with code @ (0x0)
The thread @xci7@ has exited with code @ (8x0) af
~ ` #&Demo.ControllerCommandPattern.CheckBoxComrnandBasc ~ đề ¡items
= a ~ foreach (var button in items) button.Enabled = true;
2references class Checkbox0isabLeCnd : CheckBoxComnandBase
S32Jn0S 8ỉ XON|O0J 12/0|đX3 42/J2+ 8 lL reference public CheckboxDisablecmd(params CheckBox[] items) : base(items) { } reference: s a —
8 z public override void execute() r 8 foreach (var button in items) a 3S button.EnabLed = false; san? oO ~
|Dema + | #&Demo ControllerCommandPattern CommandBase | Gitems +
LU references mo -= abstract class Command8ase
13 E= protected CommandBase(params Button[] items)
28 es aaa class EnabLeCmd : CommandBase
23 public Enablecmd(params Button[] items) : baseCitems) { }
\O references aa < public override void execute()
2% 65 foreach (var button in items)
91% + @ Noisoesfcund ¥r but Ch1 SPC CRLF
Show output from: Debug ô|| Ze) ee) lS
The thread Oxfa74 has exited with code @ (0x0)
The thread Oxcl7@ has exited with code @ (@x8)
(demo + *%Demo.Controller,CommandPattern.CommandBase ~ Gites ~+
35 pubtic 0isabLeCnd(params Button[] items) : base(itens) { }
@ 36 ôCE public override void execute()
38 £ foreach (var button in items) do button.EnabLed = faLse;
46 public pefColor(params Button[] items) : base(items) { } mo o47 public override void execute() ug & { foreach (var button in items)
{ for% -1@ — @ Noissues found a 2 - ` : Let Gt SPC CRIF © _RadioCommandBase.cs ee ~ @
* Demo ~ _ #& Demo.Contollet.CommandPattern.CommandBase ~' @items -+
“ 58 public ButtonHide(params Button[] items) : base(items) { } Ÿ mt so public override void execute()
69 61L £E foreach (var button in items)
69 public Buttonshow(params Button[] items) : base(items) { } st 7e public override void execute()
72 71 foreach (var button in items)
91% ~@ @Noissuesiound #v Unt Get SPC CRƯ
The thread @xfa74 has exited with code @ (@x@)
Hinh 23 Tén cac file code va code su dung Command Pattern
The Template Method Pattern is used to define a template for an operation, allowing subclasses to define specific steps while the overall structure remains the same This pattern is demonstrated in the Kitchen project, where the FoodTemplate class defines the general cooking process, and subclasses like GaranFood, Hamburger, and PizzaFood implement specific cooking steps to create different dishes.
S22IQS E}E(] XGQ|OOL 13iO|dX3 lAAiSS
GEER Hemvurgerroodics ‘GaranFood.cs _foodTemplate.cs
2 references a 9 = public class PizzaFood : FoodTemplate
@ in - protected override string prepairMaterial()
13 12 return "Chuẩn bị bột bánh";
@ ois a protected override string preprocessing()
17 return "Xếp bột và nguyên Liệu vào khuôn;
[ 3 relererces a 19 = protected override string processing()
21 return "Bé khuôn pizza đã xếp vào tò nướng";
2 references as 23 3 protected override string taste(string n)
26 27 return "Nguyên Liệu 1à hải sản";
31 return "Nguyên Liệu là thập cẩn";
91% x+@ Noksuesfound Wv xi %1 SPC CRLF
OOH ee tt gael Ree + *
@) afising System; using System.CoLLections.Generic; using System.Ling; using System.Text;
“| protected override string prepairMateria\() return "Chuẩn bị bánh mì và nguyên Liệu";
Dreferemes protected override string preprocessing()
2references protected override string processing()
{ return "Xếp thịt và rau củ vào bánh mì";
2 tefrenaces protected override string taste(string n)
{ return "Nguyên Liệu gồm thịt"; etse return "Nguyén Việu gồm rau"; © No issues found { _#x return "Cắt nguyên Việu sao cho bằng với bánh mỉ";