C ++的类图

时间:2010-12-24 07:06:55

标签: c++ class-design

伙计们!我明白我以前的问题并不意味着你们的意图。我为此道歉。

让我以不同的方式摆姿势。

以我的情况为例,昨天我接受了采访。

那家伙问我,他正在尝试为他的Windows移动设备开发类似谷歌地图的应用程序。

他让我想出一个应用程序的类图。

这对我来说就像一个保镖。

在这种情况下,我的做法应该是什么?我应该从哪里开始?我该如何看待这个问题?

我希望能更好地理解这一点。

我请求你回答我,因为我是一名业余的C ++开发人员,他从未参与任何分析和项目的项目。设计阶段

并且不知道abc的设计。

谢谢,

krisssam

4 个答案:

答案 0 :(得分:2)

首先,您需要清楚地了解应该写什么。用英语表达这种理解。现在每个名词都是一个班级的候选人。每个动词都是方法的候选者。和出现在同一句子中的名词是结社的候选人。

这听起来很简单。那是因为我简化了很多。实际上还有很多东西。清楚地了解应该单独写什么是具有挑战性的。如果您有兴趣,我建议您阅读一本关于面向对象分析和设计的书。

答案 1 :(得分:2)

面试时可能有点矫枉过正,但即便如此,我仍然会选择1和3,然后从4开始。

  1. 尽可能多地询问规格,以便了解预期的内容
  2. 在可能/需要时,使用用例来清楚地了解它的使用方式
  3. 启动高级别,专注于主要功能。寻找最少少于6个玩家(模块)并尝试看他们如何互动。定义责任和接口。
  4. 在子模块中分解这些玩家,看看这些玩家如何相互作用(也定义了责任和界面)。重复,直到有可实现的实体(类)
  5. 与4并行,对于体系结构,请查看它将如何部署以及需要/可用的语言/框架/库。
  6. 对于谷歌地图,我认为玩家可能是地图数据库,地图查看器,用户输入,搜索引擎,但我不是GUI / GIS /移动专家。

答案 2 :(得分:1)

定义软件的每个组件所具有的职责,然后围绕这些职责进行授课。

答案 3 :(得分:0)

它与语言无关。 类图 - 意味着您需要识别在此应用中“播放”的主要对象。

地图对象及其数据成员和操作

图标对象及其数据成员和操作等...