Pair Project: API设计 by Xiao Li and Yishi Xing
Pair Project API設(shè)計(jì)
本次 Pair Project 的內(nèi)容是設(shè)計(jì)一個(gè)電梯調(diào)度系統(tǒng)。
我們認(rèn)為一套完整的電梯調(diào)度系統(tǒng)應(yīng)該包括以下三個(gè)類(lèi):
(1)????? 乘客類(lèi)
(2)????? 電梯類(lèi)
(3)????? 調(diào)度系統(tǒng)類(lèi)
乘客類(lèi)
乘客(Passenger)類(lèi)主要用來(lái)描述乘客的相關(guān)屬性及其行為。
乘客類(lèi)維護(hù)以下成員:
Number:?????????????乘客編號(hào),唯一標(biāo)識(shí)該乘客
Weight:???????????????乘客體重
Time:??????????????????乘客乘坐電梯的時(shí)間
Srcfloor:??????????????乘客起始樓層
Dstfloor:????????????? 乘客目的樓層
乘客類(lèi)公開(kāi)以下方法:
Passenger:????????? 構(gòu)造函數(shù),創(chuàng)建一個(gè)指定體重,起始樓層和目的樓層的乘客實(shí)例。
Request:?????????????發(fā)出一個(gè)乘電梯的請(qǐng)求。
?
電梯類(lèi)
電梯類(lèi)用來(lái)描述電梯的屬性及行為。
電梯(Elevator)類(lèi)維護(hù)以下成員:
Speed:??????????????????電梯速度
Currweight:??????? 當(dāng)前電梯乘員的總重量
Maxweight:??????? 電梯的最大載重量
CurrPos:??????????????? 電梯的當(dāng)前位置
Status:????????????????? 當(dāng)前狀態(tài)(上行/下行/空閑)
Stopfloor:??????????? 電梯所有需要停靠的樓層
?
電梯類(lèi)公開(kāi)以下方法:
Elevator:????????????? 構(gòu)造函數(shù),創(chuàng)建一個(gè)指定參數(shù)的電梯實(shí)例。
IsFull:??????????????????判斷電梯是否滿(mǎn)員。
Move:??????????????????上升/下降電梯。
?
調(diào)度系統(tǒng)類(lèi)
調(diào)度系統(tǒng)類(lèi)實(shí)現(xiàn)對(duì)整個(gè)電梯系統(tǒng)的調(diào)度。
調(diào)度系統(tǒng)(Scheduler)類(lèi)維護(hù)以下成員:
RequestList:?????? 包含所有需要進(jìn)行調(diào)度的請(qǐng)求。
?
調(diào)度系統(tǒng)類(lèi)公開(kāi)以下方法:
Scheduler:????????構(gòu)造函數(shù),創(chuàng)建一個(gè)新的調(diào)度系統(tǒng)實(shí)例。
GetRequest:????? 添加一個(gè)新的請(qǐng)求。
DelRequest:??????移除一個(gè)請(qǐng)求。
AssignElev:???????將某一請(qǐng)求安排給某一電梯。
轉(zhuǎn)載于:https://www.cnblogs.com/smart-code/archive/2012/09/07/2675646.html
總結(jié)
以上是生活随笔為你收集整理的Pair Project: API设计 by Xiao Li and Yishi Xing的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: UIViewController与UIV
- 下一篇: 初学者学MvcMovie遇到的问题解决办