利用Javascript怎么编写一个点餐程序

利用Javascript 怎么编写一个点餐程序?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

MVC模式是一个比较成熟的开发模式。M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。其中,View的定义比较清晰,就是用户界面。今天就来模拟使用MVC模式开发一个点餐程序,当然,只是就此案例来说明MVC在前端的实现参考,并没有完整的实现。程序很简单,与传统的MVC三层架构不谋而合。

首先,先介绍一下场景:顾客进到餐馆,拿着菜单点餐,服务员记录并发到后端厨房,厨师接到订单,按照订单的菜品去制作,制作完毕通知服务员取餐,服务员将菜品送到客户餐桌,顾客就餐,完毕。我们看一下业务流程图:

利用Javascript 怎么编写一个点餐程序

在这个案例中,M对应的是菜品订单,C对应的就是服务员,V对应的就是顾客。服务员将顾客和厨师连接到一起,但是顾客并不直接与厨师沟通与接触。服务员需要监听菜品的完成情况,一旦完成,厨师会通知服务员取餐,并送到顾客餐桌。我们看一下最终的界面:

利用Javascript 怎么编写一个点餐程序

界面共分为4个区域:

  • 菜单: 顾客进到餐馆的第一个动作,拿菜单点菜。

  • 已点:顾客点完菜,即生成点菜订单。

  • 制作:后厨根据订单制作菜品。

  • 餐桌:制作完成的菜品会被端到顾客的餐桌。

程序用H5实现,包含一个展现的页面order.html,一个order.js。order.js包含两个类:Food(食物类)和Controller(点餐控制器)。

菜单的实现如下:

利用Javascript 怎么编写一个点餐程序

当然,得响应菜单的选择,要实现这个功能,我们还得引入食物和控制器。

首先,看一下食物类的定义:

利用Javascript 怎么编写一个点餐程序

注册监听器:

利用Javascript 怎么编写一个点餐程序

这里的监听器在实际的场景中当然是指上菜员了,从程序架构角度这里是支持多个监听器的,很多业务场景下一个数据的改变可能会影响到多个界面的更新。这个点餐程序传入的实际就是一个回调函数,食物制作完成则调用该函数更新界面显示(上菜)。

最后,食物制作完成:

利用Javascript 怎么编写一个点餐程序

食物制作完成,轮询监听器,执行回调函数。

接下来,引入点餐控制器,这可是数据和界面的纽带(后厨和顾客)。看控制器定义:

利用Javascript 怎么编写一个点餐程序

这个控制器里面存放了顾客点的菜品。

当然了,控制器还应包括点餐:

利用Javascript 怎么编写一个点餐程序

这里的利用Javascript 怎么编写一个点餐程序就是传入的回调函数。定义如下:

利用Javascript 怎么编写一个点餐程序

另外,这个控制器应该还包含查找指定的食物:

利用Javascript 怎么编写一个点餐程序

好了,至此,order.js的全部内容已经完成。

利用Javascript 怎么编写一个点餐程序

回到页面,我们需要在页面的javascript里面定义控制器的实例:

利用Javascript 怎么编写一个点餐程序

定义程序启动的函数:

利用Javascript 怎么编写一个点餐程序

利用Javascript怎么编写一个点餐程序