Design patterns in real world problem

I will have a workshop at CodeGym at the end of this month about Design patterns. One of the biggest issue in training design patterns is the trainees don’t know how to apply them together in a single real world problem. Here is my example that will be used as the exercise for this workshop. Is it interesting enough? Try it out.

KFC. Order system

KFC is very famous fastfood brand, they have many franchises in various places that share the same hotline, menu.

When users open the menu on KFC website, they see the single menu, choose and order food by calling to the single hotline. A order center (OC) receives the order and notifies to the appropriate store by a specific criteria (now is location and can be changed in the future). A store can answer their possibility to take this order (they need to cook and deliver it on time). If a store takes this order, the process ends; otherwise, the OC will find another one.

To process a order, a store has a recipient who receives the order from OC, forwards it to the kitchen, finds the right delivery man and updates the order basing on the information from delivery man such as payment, status (accepted or declined), customer feedback… to OC. So OC has real time data of every orders but doesn’t have order’s internal note that works within the store.

When OC gets the order information from customer, they may get the extra information in some categories like food change, delivery time, special notes… If customer calls to OC to cancel the order, OC can directly cancel it by updating the order status in taken store.

Design the system by design patterns.

—————————————————————-

The solution will be updated later.

 3,521 total views,  2 views today

Previous articleYearly master plan
Next articleDesign patterns

Similar Articles

Most Popular

Lập trình viên: Gắn kết & chia tay

Có nhiều LTV tỏ ra rất chuyên nghiệp trong buổi phỏng vấn, song tính chuyên nghiệp này không được duy trì những ngày sau...

Lập trình viên: Làm vì đam mê hay tiền?

Đến đây, có một câu hỏi  cho mọi ngành nghề: làm vì đam mê hay vì tiền? Đây không phải là một câu hỏi...

Authentication & WebView & React Native

You have an idea. You already had a responsive web app, it works well for mobile. It leads you to the thought of having...