面向对象项目的示例帮助程序员编程

时间:2009-10-26 01:22:22

标签: java c++ open-source oop

请帮我识别一些体现面向对象设计的小型到中型开源项目(最好用C ++或Java)。我想使用这些项目来演示如何通过面向对象的设计解决现实问题(与人工教科书示例相对)。我希望能够提出一个合理的解释,说明为什么某些事物被选为对象以及它们如何协同工作以解决问题。

5 个答案:

答案 0 :(得分:2)

Unreal Tournament Public Source Code (432 Headers)包含用C ++编写的虚幻引擎类库的声明。我发现它是大型面向对象程序的丰富示例。它教会了我很多关于如何对我的代码进行模块化和面向对象的方法。它还演示了处理大型代码库的许多策略。

另外,因为所有你能阅读的都是头文件,你将有一个有趣(和教育)的时间试图弄清楚整个事情是如何结合在一起的。 (我实际上最终编写了自己的x86反汇编程序,所以我可以欺骗并阅读一些定义!)

同样,Doom 3 SDK包含一大块以非常易读的C ++编写的Doom / Quake引擎。

答案 1 :(得分:2)

Google Chromium(C ++):windows,tabs,plugins等都是类。

答案 2 :(得分:0)

几乎所有用Java设计的大型项目都是面向对象的,几乎是按照定义。您可以将Apache Hadoop看作是一个用Java编写的大型,开源,面向对象的项目。另一个是Apache Ant

答案 3 :(得分:0)

Eclipse将是Java方面的一个很好的例子:插件架构都是面向对象的。

答案 4 :(得分:0)

我向我的OO导师问过同样的事情。他向我指出了JUnit的消息来源,建议看看它是如何逐个版本进化的。这将向您展示Kent Beck如何编写Java代码。

另一个例子就是Ward Cunningham的Fit来源。