当前位置: 首页 > news >正文

停车位 车辆

假设,我们现在有个vechice对象,和一个parking lot对象 。 现在需要描述一个功能,停车, 这需要把车和parking lot对象起来。请问,这部分逻辑,放在哪个对象好? 有什么规则呢

在面向对象设计中,停车(park)这个功能涉及两个对象:车辆(vehicle)和停车场(parking lot)。一般有以下几种设计选择:

  1. 放在 ParkingLot 对象里:
    停车场负责管理停车逻辑,比如检查空位、登记车辆等。通常推荐将“停车”方法(如 park(vehicle))放在 ParkingLot 类中,因为停车场拥有资源(车位),负责分配和管理。

  2. 放在 Vehicle 对象里:
    车辆可以有一个 park(parkingLot) 方法,但实际操作还是由停车场完成。车辆只是请求停车,具体实现还是 ParkingLot。

  3. 独立的服务类:
    如果逻辑复杂,可以有一个 ParkingService 类,负责协调车辆和停车场。

【推荐规则】

  • 谁拥有资源,谁负责管理。停车场拥有车位,负责分配和登记,所以“停车”逻辑应放在 ParkingLot。
  • Vehicle 只持有自己的状态,不负责管理停车场资源。
  • 如果涉及多个停车场或复杂业务,可用服务类协调。

总结:
“停车”逻辑一般放在 ParkingLot 对象里,实现 park(vehicle) 方法。这样职责清晰,易于维护和扩展。

http://www.lryc.cn/news/624011.html

相关文章:

  • AI出题人给出的Java后端面经(十七)(日更)
  • 【URP】[法线贴图]为什么主要是蓝色的?
  • YoloV9改进策略:Block改进-DCAFE,并行双坐标注意力机制,增强长程依赖与抗噪性-即插即用
  • LangChain4j
  • Java 学习笔记(基础篇4)
  • C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
  • JavaScript 性能优化实战:从评估到落地的全链路指南
  • SparkSQL性能优化实践指南
  • 第16节:自定义几何体 - 从顶点构建3D世界
  • 【FreeRTOS】刨根问底6: 应该如何防止任务栈溢出?
  • 【网络安全】Webshell的绕过——绕过动态检测引擎WAF-缓存绕过(Hash碰撞)
  • 什么是GD库?PHP中7大类64个GD库函数用法详解
  • 日语学习-日语知识点小记-进阶-JLPT-N1阶段蓝宝书,共120语法(3):21-30语法
  • 【AI论文】序曲(PRELUDE):一项旨在考察对长文本语境进行全局理解与推理能力的基准测试
  • PHP静态类self和static用法
  • 6-服务安全检测和防御技术
  • Tomcat Service 服务原理
  • Coin与Token的区别解析
  • java八股文-(spring cloud)微服务篇-参考回答
  • C语言基础:(十六)深入理解指针(6)
  • Centos 更新/修改宝塔版本
  • Rust 入门 生命周期(十八)
  • react echarts图表监听窗口变化window.addEventListener(‘resize’)与ResizeObserver()
  • 音乐创作魔法:解锁和弦与旋律的变化技巧
  • 3D打印——给开发板做外壳
  • 如何做HTTP优化
  • 【JAVA 核心编程】面向对象高级:类变量与方法 抽象类与接口
  • PowerPoint和WPS演示让多个对象通过动画同时出现
  • NY270NY273美光固态闪存NY277NY287
  • Portkey-AI gateway 的一次“假压缩头”翻车的完整排障记:由 httpx 解压异常引发的根因分析