Pair Project: API设计 by Xiao Li and Yishi Xing
Pair Project API设计
本次 Pair Project 的内容是设计一个电梯调度系统。
我们认为一套完整的电梯调度系统应该包括以下三个类:
(1) 乘客类
(2) 电梯类
(3) 调度系统类
乘客类
乘客(Passenger)类主要用来描述乘客的相关属性及其行为。
乘客类维护以下成员:
Number: 乘客编号,唯一标识该乘客
Weight: 乘客体重
Time: 乘客乘坐电梯的时间
Srcfloor: 乘客起始楼层
Dstfloor: 乘客目的楼层
乘客类公开以下方法:
Passenger: 构造函数,创建一个指定体重,起始楼层和目的楼层的乘客实例。
Request: 发出一个乘电梯的请求。
电梯类
电梯类用来描述电梯的属性及行为。
电梯(Elevator)类维护以下成员:
Speed: 电梯速度
Currweight: 当前电梯乘员的总重量
Maxweight: 电梯的最大载重量
CurrPos: 电梯的当前位置
Status: 当前状态(上行/下行/空闲)
Stopfloor: 电梯所有需要停靠的楼层
电梯类公开以下方法:
Elevator: 构造函数,创建一个指定参数的电梯实例。
IsFull: 判断电梯是否满员。
Move: 上升/下降电梯。
调度系统类
调度系统类实现对整个电梯系统的调度。
调度系统(Scheduler)类维护以下成员:
RequestList: 包含所有需要进行调度的请求。
调度系统类公开以下方法:
Scheduler: 构造函数,创建一个新的调度系统实例。
GetRequest: 添加一个新的请求。
DelRequest: 移除一个请求。
AssignElev: 将某一请求安排给某一电梯。