gpt4 book ai didi

architecture - 您如何设计面向对象的项目?

转载 作者:行者123 更新时间:2023-12-03 04:07:42 25 4
gpt4 key购买 nike

我正在开发一个大型项目(对我来说),该项目将有很多类并且需要可扩展,但我不确定如何规划我的程序以及类需要如何交互。

几个学期前我参加了 OOD 类(class),并从中学到了很多东西;例如编写 UML,以及将需求文档转换为对象和类。我们也学习了序列图,但不知何故我错过了讲座或其他什么,它们并没有真正让我印象深刻。

在之前的项目中,我尝试使用从类(class)中学到的方法,但通常最终得到的代码是,一旦我可以说“是的,这看起来像我想要的”,我就不想深入研究添加新功能很麻烦。

我有一本 Steve McConnell 的代码大全,无论是在这里还是在其他地方,我一直听到它非常棒。我读了有关设计的章节,但似乎没有找到我正在寻找的信息。我知道他说这不是一个固定的过程,它主要基于启发式,但我似乎无法获取他的所有信息并将其应用到我的项目中。

那么在高级设计阶段(开始编程之前)您会做什么来确定您需要什么类(尤其是不基于任何“现实世界对象”的类)以及它们将如何交互彼此

具体来说,我对您使用的方法感兴趣?您遵循的流程通常会产生良好、简洁的设计,并且能够密切代表最终产品?

最佳答案

我用于初始设计(获取类图)的步骤是:

  1. 需求收集。与客户交谈并分解用例来定义软件应具有的功能。

  2. 撰写单个用例的叙述。

  3. 浏览叙述并突出显示名词(人、地点、事物)作为候选类别,以及动词( Action )作为方法/行为。

  4. 丢弃重复的名词并排除常见功能。

  5. 创建类图。如果您是一名 Java 开发人员,Sun 的 NetBeans 6.7 有一个 UML 模块,允许进行图表绘制和往返工程,而且它是免费的。 Eclipse(一个开源Java IDE)也有一个建模框架,但我没有使用它的经验。您可能还想尝试一下开源工具 ArgoUML。

  6. 应用 OOD 原则来组织您的类(分解常见功能、构建层次结构等)

关于architecture - 您如何设计面向对象的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1100819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com