点击空白处退出提示
作品详情
(1) View子系统:该子系统主要负责上面2.1.2系统功能需求中界面动画显示需求以及游戏整体界面切换流程控制中的接受用户点击事件或者键盘输入事件,并将用户事件信息传递给对应的Control,总体来说:View子系统负责任务是显示画面以及动画,并接收用户事件这两大功能并调用相应的Control,但是什么情况下显示什么动画或界面的控制任务,该控制任务交给Model子系统,View不负责。
(2) Model子系统:该子系统主要负责上面2.1.2系统功能需求中的游戏整体界面切换流程控制、游戏进行的控制、检验用户登陆、用户数据管理功能、游戏数据管理(游戏的地图资源、游戏进行时的各种实时状态数据)功能;总体来说就是Model子系统负责控制整体的进行流程。
(3) Control子系统:该子系统主要负责的是View子系统和Model子系统的连接交互,View对应的操作信息要通过Control子系统出传递给Model子系统。
2、子系统体系结构风格:具体介绍每个子系统的体系结构风格
(1) View子系统的体系结构风格:在第一章我们有介绍到View子系统使用的体系结构风格为事件驱动架构,那么如何将该架构和我们View子系统的负责功能进行结合呢?该架构基于事件的触发机制,通过监听用户界面上的各种事件,如鼠标点击、键盘输入等,来实现用户与程序之间的交互。View负责显示出所有的交互界面,这些界面中包括可以和用户进行交互的控件,用于和用户进行交互,具体的交互包括:用户点击界面上面的按钮,拖拽程序组件,当用户进行了上面的可交互操作后,View接受操作,然后将操作信息传递给对应的Control,View子系统到此任务结束,其中该体系风格主要体现在View显示界面后接收用户操作,我们这里使用的是Java Swing中的监听机制。
(2) Model子系统的体系结构风格:在第一章中我们有介绍到Model子系统使用的体系结构风格是数据共享体系结构,该体系结构风格就是典型的以数据库为中心,那么怎么将该架构和我们Model子系统的负责功能进行结合呢?通过2.1.3的分析我们可以确定了Model的主要功能,这些功能要基于数据库来实现,检验用户登陆:获取到Control传递过来的用户登陆的账户和密码后,Model要去数据库里面进行搜索,如果存在那么就说嘛密码和账户正确,即可登陆成功。用户数据管理:存储该用户的游戏进度,用户登陆后返回用户的最近游戏进度信息。游戏数据管理功能:返回游戏关卡地图数据,返回下一时刻的游戏各种状态数据,这些数据要存储在数据库中。
(3) Control子系统的体系结构风格:在第一章中我们有介绍到View子系统使用的体系结构风格是管道/过滤器体系结构风格,同样的,这里我们说明Control的功能如何通过该体系结构进行实现:Control子系统主要的作用就是接受View传过来的用户操作信息,然后调用Model完成处理并最终返回响应。而管道/过滤器主要体现到了Contorl接受到View子系统传递过来的用户操作后,Control会对传过来的进行一定的处理,也就是接收到的用户操作信息会经过多个过滤器的处理,这些过滤器就是一系列的函数,处理后输出,最终达到可以被后端Model轻松解决的响应。
3、子系统之间的通信方案:
(1) 先从大的方面来说,View子系统负责界面显示,接受用户的操作,并将接收到的用户操作信息递交给对应的Control。Control接收View层传过来的用户操作信息后,Control对该信息进行一定的处理,处理的目标是是最终这个操作经过Control后可以被子系统Model中的一系列函数所处理完成。Model层的主要任务是被Control调用,通过和数据库交互来完成Control传过来的各项任务,并最终返回结果给Control。Control再将结果返回给View层。
(2) View子系统如何和Control子系统进行交互:
① 根据前面的内容我们知道,View层获得用户的操作,主要是通过事件监听机制Listener来实现的,获得操作信息后,View层要传递给处理该信息的Control,这里我们设计的传递是通过函数调用的方式进行传递的,Control子系统通过设计模式定义了一系列的可调用接口,这些结构暴露给View层,所有的这些接口应该涵盖了该游戏的所有的交互功能,当View层要将操作信息传递给Control子系统时,就是通过Control定义的接口里面的函数来进行传递的,从而Control就获得了用户操作信息
(3) Control子系统如何和Model子系统进行交互:
① 根据前面的内容我们知道,Control子系统最终是要调用Model子系统中的函数来完成用户的响应的,同样的这里的调用也是通过函数调用来实现交互的,Model子系统会定义一系列的接口,这些接口将会暴露给Control子系统,Control会调用这些接口中定义的函数,来完成功能,同时在客户端Control进行Socket套接字发送数据给服务端Control之前,可以通过过滤器对发送的数据进行加密。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论