pair work 附加题解法(张艺 杨伊)
1.改进电梯调度的interface 设计, 让它更好地反映现实, 更能让学生练习算法, 更好地实现信息隐藏和信息共享,目前的设计有什么缺点, 你会如何改进它?
目前的缺点:
(1)电梯由于载客重量不同,无法确保每辆电梯在运行过程中的速度一致。
(2)电梯每层都停下开关门,极大的浪费了乘客的时间,使乘客从初始楼层到目标层的total time无故增加。
解决方案:
直接设置电梯的初始楼层和目标层,在电梯运行过程中顺路带上同方向且能达到的乘客,电梯能够拒绝不能到达的的楼层指令,乘客可以通过转乘电梯到达自己的目标层。
2.阅读有关 MVC 和 MVVM 设计模式的文章
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
MVVM是Model-View-View-Model的简写。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性揉合进去,以应对客户日益复杂的需求变化。
这次工程中的应用
在阅读代码阶段,我们需要完成的任务是确定每个类之间的关系,和每个类的功能。框架已经搭好的前提下,只需要根据实际情况修改相应的接口,将逻辑模型转化成时机模型即可。即完成添加控件—调整布局—完成逻辑代码三步。