paul198247 (S.Battier) 于 (Mon Jul 12 00:30:59 2010, 美东) 提到:

如果让设计一个多部电梯的控制系统,画出uml图。请问大概要设计哪些类,类之间的
关系?
我是最近才看OOD的,比较菜
我是这么想的:
主系统
System包含了taskcenter,elevator
任务系统taskcenter负责给不同电梯增加任务,删除任务,响应不同电梯内的任务请求
,每层用户的请求

电梯elevator 包括了自己的任务list,方向,以及状态。电梯类有2个子类,一个是UI
_elevator,一个是task_elevator。UI_elevator函数有addrequest,
removerequest,askforhelp,opendoor,closedoor这些是给电梯内的用户的;task_
elevator有getdirection,getcondition,getrequest,addtask, removetask等函数
,这些是给taskcenter调用。

request 有2种子类,一种是elevatorrequest,是UI_elevator发出的;一种是
floorrequest,是每层电梯外用户发出的。

taskcenter和request,UI_elevator和request的关系应该是关联关系
taskcenter和task_elevator的关系应该是聚合吧。

☆─────────────────────────────────────☆

boyjemmy (jemmyboy) 于 (Mon Jul 12 18:52:30 2010, 美东) 提到:

先说说我对单个电梯设计的想法(欢迎批评指正)

1 Elevator Object, 应该包含physical components: Door, Indicator Lights, 
Control Panel. 一些性质(Non physical properties): Speed, Num of floors, 
capacity, max weight. 所能从事的操作methods: moveto, stop, ringbell。然后电
梯应该能够handle user request, 所以还应有一个requestQueue, 电梯应该根据自己
的state 和 requestQueue做出moveto, stop的决定,所以有一component: 
requestHandler(Strategy pattern),可以set不同的requestHanlder.

2 Door, properties: State, method: open, close, getState.

3 Indicator light(指示所到楼层),properties: state; method: on, off, 
getState

4 Control Panel, 包含physical component: Floor Buttons, Other buttons(也可直
接把Buttons 当作 elevator的components,还没考虑哪一个方法好)

5 Button, properties: floorNum, Parent Elevator, methods: OnPress(Observer 
Pattern).

6 ElevatorRequestHandler: handleRequest(Elevator ele, requestList rlist), 可
以define 一个interface, 然后又各种不同实现

7 Request: 可以define 一个abstract class, 然后有子类movingRequest, 
helpRequest doorRequest etc.

转载于:https://www.cnblogs.com/xishibean/archive/2013/03/05/2951284.html

D1: elevater design相关推荐

  1. 艾伟_转载:C# Design Patterns (3) - Decorator

    Decorator Pattern (装饰模式) 装饰模式可「动态」地给一个对象添加一些额外的职责,提供有别于「继承」的另一种选择.就扩展功能而言,Decorator Pattern 透过 Aggre ...

  2. Design Pattern - Decorator(C#)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Defi ...

  3. HDU1007 Quoit Design 分治+递归

    点击打开链接 Quoit Design Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  4. C# Design Patterns (3) - Decorator

    本帖介绍 Decorator Pattern (装饰模式),文章最后另提供 Decorator Pattern 的趣味四格漫画. ----------------------------------- ...

  5. DC(Design Compiler)使用说明

    DC综合软件的使用有两种方法,一种是在图像界面下操作,另一种写一个脚本文件,对于大多数人,还是习惯图形界面点点点,但是亲测,发现真的很烦,因为要设置一堆东西,如果你在综合后出现问题,你修改你的代码,然 ...

  6. 顶会论文笔记:联邦学习——ATPFL: Automatic Trajectory Prediction Model Design under Federated Learning Framework

    ATPFL: Automatic Trajectory Prediction Model Design under Federated Learning Framework 文章目录 ATPFL: A ...

  7. Optimal Design of Energy-Efficient Multi-User MIMO Systems: Is Massive MIMO the Answer?笔记

    Optimal Design of Energy-Efficient Multi-User MIMO Systems: Is Massive MIMO the Answer? MIMO系统能量利用率受 ...

  8. ICC2:Design Planning(01)initial_DP

    1.Create Design Library create_lib需要用到的文件有reference library(.ndm),Technology File(.tf),寄生参数提取规则文件(.t ...

  9. USART - Design Flow

    目录 1. baud_clk_gen 1.1. RTL Coding 2. usart_tx 2.1. FSM Design RTL Coding 3. usart_rx 3.1. FSM Desig ...

  10. HDU1007(Quoit Design)

    Quoit Design 题目传送门 Problem Description Have you ever played quoit in a playground? Quoit is a game i ...

最新文章

  1. php request payload怎么接收,[问题] PHP接收Request payload传递过来的参数
  2. Flutter开发Flutter与原生OC、Java的交互通信-2(48)
  3. AI同传效果媲美人类,百度翻译出品全球首个上下文感知机器同传模型
  4. 《梦断代码》读后感一
  5. 2017年第十一届中国电子产业品牌盛会盛大开启
  6. Java 泛型总结(三):通配符的使用
  7. 下方向键_Bash使用$#x27;...#x27;来捕获方向键
  8. SVN Could not open the requested SVN filesystem解决办法
  9. android studio 安装问题,解决Android Studio的安装问题
  10. ActiveMQ之发布- 订阅消息模式实现
  11. 全渠道java b2b b2c o2o平台
  12. 3分钟创建一个游戏类容器应用【华为云分享】
  13. (33)Verilog HDL缩减运算
  14. 洛谷 P1762 偶数
  15. [转] linux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题解决,Linux使用退格键时出现^H解决方法
  16. bzoj 1124: [POI2008]枪战Maf(贪心)
  17. [代码]获取源页的控件值
  18. typescript 第一弹
  19. mysql数据库巡检方案_美团MySQL数据库巡检系统的设计与应用
  20. 上海市计算机二级vb试题及答案,上海市207计算机二级vb试题.doc

热门文章

  1. 使用nginx配置二级域名
  2. 3D建模到底难不难?
  3. Telink blt_soft_timer 改进
  4. 证件照尺寸怎么修改?这三个好用的方法你知道吗?
  5. 如何用 Stata 做调节中介效应检验?
  6. c语言opencv识别颜色并标记,opencv怎么识别图片上带颜色的圆
  7. 2020 IJCAI 接受论文 list 分类排列(三)
  8. Excel表格合并单元格丢失边框
  9. 2016 上海 Qcon 值得关注的技术
  10. 计算机进入桌面黑屏怎么办,电脑进入桌面后黑屏如何修复 电脑经常进入桌面之后黑屏的处理方法...