停车场,OOP设计-定制设计
我正在研究停车场示例,在设计时做了一些假设 在为项目/对象分配属性方面,我有几个问题 1) 如果系统未分配停车空间,即用户刚进入停车场,则找到合适的位置(汽车/自行车/卡车/残疾人)并停车 我想我不需要ParkingSpace对象,但相反,我可以为每个类别的ParkingSpace保留无空闲位置的计数 由于停车位很大,我们只保留三个变量停车场,OOP设计-定制设计,oop,system-design,Oop,System Design,我正在研究停车场示例,在设计时做了一些假设 在为项目/对象分配属性方面,我有几个问题 1) 如果系统未分配停车空间,即用户刚进入停车场,则找到合适的位置(汽车/自行车/卡车/残疾人)并停车 我想我不需要ParkingSpace对象,但相反,我可以为每个类别的ParkingSpace保留无空闲位置的计数 由于停车位很大,我们只保留三个变量 没有免费的车 没有免费的自行车 没有空闲槽的卡车 没有免费的位子残疾人 当车辆进入时,我们只需减少上述值中的一个(这意味着,在可用的X个位置中,用户选择一个
- 没有免费的车
- 没有免费的自行车
- 没有空闲槽的卡车
- 没有免费的位子残疾人
-->开始时间/结束时间应该是车辆的一个属性吗?
或
-->车辆id、开始时间、结束时间应为停车计时器的一部分 3) 假设需要parkingSpace对象,那么4_wheeler、2_wheeler、残疾人应该是枚举类型还是单独的类
如果它是enum,我们可以使用findEmptySlot(parkingSpace_type)
如果它们是完全独立的类,并且ParkingLot有一个findEmptySlot()方法
我们怎样才能找到合适的位置?
停车计时器将负责设置车辆的开始、结束时间是否正确 如果有多个金额,1小时-20美元,2小时-30美元,3小时-40美元,5小时-50美元
停车收费表类中的这些部分好吗,或者,将它们包含在单独的“停车价格”类中好的
ParkingSpace
对象来描述公园中的空间Vehicle
。它允许灵活使用每种车辆类型的通用和唯一属性(所有车辆的序列号,但仅4轮车具有车门)。至于如何查找空停车位,每个ParkingSpace
对象都将有一个$takenBy
属性,该属性将保存一个车辆对象的实例。它应该默认为null
,然后,您只需遍历ParkingLot
类中的空格数组,找到$space->takenBy==null
的一个我对问题进行了编辑,为第一部分添加了更多信息。第二个和第三个可以。请看第一部分。所以你们在问,你们是应该创建一个空格类还是仅仅减少变量。我建议保留一个空格数组(或者为每个空格类型保留一个数组)。它可以灵活地检测哪辆车在哪辆车里,甚至可以参考实际占用空间的车(根据我的第三个答案)。谢谢。。我在原始帖子的末尾添加了额外的帖子,你能看看吗?问题是,每个停车位都有停车收费表吗?或者每个停车场?假设一个停车场有一个全局/单个停车收费表,假设安装成本。