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的新特性揉合進去,以應對客戶日益複雜的需求變化。
這次工程中的應用
在閱讀代碼階段,我們需要完成的任務是确定每個類之間的關系,和每個類的功能。架構已經搭好的前提下,隻需要根據實際情況修改相應的接口,将邏輯模型轉化成時機模型即可。即完成添加控件—調整布局—完成邏輯代碼三步。