Hình 16 Sơ đồ lớp Template Method Pattern
Lý do áp dụng: Template Method Pattern là một 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 để 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 file để dễ dàng thao tác hơn và tránh sự nhầm lẫn để đạt hiệu quả cao hơn
Hình 17 Tên các file code và code sử dụng MVC Pattern
3.2 Singleton Pattern
Hình 18 Tên các file code và code sử dụng Singleton Pattern
3.3 State Pattern
Sử dụng State Pattern trong việc quản lý trạng thái bàn, áp dụng mẫu thiết kế này trong các file TabeFreeState.cs, TabelOrderedState.cs, TableContext.cs, TableState.cs,TableUsedState.cs
Hình 19 Tên các file code và code sử dụng 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 các file Iobserver.cs, IsubjectNotification.cs, Subject.cs
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ế này trong các file ByCash.cs, Context.cs, CreditCard.cs, Momo.cs, Payment.cs
Hình 21 Tên các file code và code sử dụng 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 file
SweetCakeChick.cs, Hamburger.cs, HamburgerDecorator.cs, Ihamburger.cs, MeatHamburger.cs, VegetableHamburger.cs, Bubble.cs, FlanCake.cs, GreenMilkTea.cs, ImilkTea.cs, Jelly.cs,
Hình 22 Tên các file code và code sử dụng Decorator Pattern
3.7 Command Pattern
Được sử dụng cho việc điều khiển các nút, Disable/ Enable các nút trong trong Phần thêm, Topping. Áp dụng mẫu thiết kế này trong các file CommandBase.cs, RadioCommandBase.cs
Hình 23 Tên các file code và code sử dụng Command Pattern
3.8 Template Method Pattern
Được sử dụng trong cách thực hiện món ăn trong Khu bếp. Áp dụng mẫu thiết kế này trong các files FoodTemplate.cs, GaranFood.cs, Hamburger.cs, PizzaFood.cs