OOD之笔记一

OOA(面向对象分析) 分析甲方需求,通常需要画一些类图。

OOD (面向对象设计) 搭建一个框架

OOP(面向对象编程) 实现出来

主要是考察设计出类和方法,以描述生活中真实的对象。一般做OOD题目,5-7个类差不多,而且到问清楚需求可能已经到Core object的时候可能已经过了10分钟

解决方案:(来自九章)

5C分析法:

1.碰到一个题目的时候,一定要先沟通,不能盲干,3W原则(What是什么[提出名词进行询问],How规则,Who主体)

OOD的思考:不去思考怎么把车开到停车场,而是考虑有量车来了,然后停车场返回一个车位。       

例如让你设计一个电梯系统,你可以考虑是什么样的电梯,电梯的调度规则是什么,主体以实际设计的系统为主(这样的效果就是你的系统主要方法都以这个类为中心)

2.定义一些核心类,并分析对象关系[哪里对象是其他对象的数据成员,对象之间一对多,多对多的关系](从核心名词开始考虑,然后考虑输入,输出)

3.研究一些用户案例(用一句话说出这个类要做什么事情),这个过程能够理清楚自己遗漏的对象(想象对象可以执行的关键动作,这样可能发现自遗漏的对象)

对于System : handle requset

对于elevator: 接收外部的请求,接收内部的请求,开门,关门,检查重量(这样是不是违反了单一职责原则?)你觉得作为面试官,还需要实现什么功能吗?

对于Button :按下按钮

4.画类图,呈现出你的方案

5.检测自己的设计(SOLID原则)

I:接口分离原则 不应该强迫一个类实现它用不上的接口

D:依赖反转原则       抽象不应该依赖于具体实现,具体实现应该依赖抽象。

 

 

最后关于电梯的规则可以使用一种设计模式:策略模式

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值