什么是具有出色设计的小型开源项目?

时间:2010-11-04 23:45:08

标签: design-patterns architecture open-source

我正在寻找Java,C#,C ++,Ruby或Python等语言的小项目(5,000 - 25,000行)。这些项目应该表现出优秀的架构和设计原则。这样做的目的是找到好的模型来学习,而不是在我学习这些课程之前,在接下来的10年里被打倒。

修改:感谢所有回复。我会尝试通过所有这些,看看哪个是最容易理解的。这需要我一段时间。不过不用担心。我会接受一个。

5 个答案:

答案 0 :(得分:4)

Junit 3.8 http://www.junit.org/node/363

来自Dirk Riehle: “JUnit 3.8设计文档 星期三,05/14/2008 - 06:24 - driehle

JUnit越来越多地用于科学案例研究。那是因为它相对较小,众所周知且独立。对于对JUnit 3.8如何工作的详细设计文档感兴趣的任何人,我都记录了它的设计。我选择了JUnit 3.8,因为4.0中的注释移动可能使JUnit使用起来更方便,但设计不太清楚(以面向对象的术语)。 JUnit不是唯一的常见案例研究,JHotDraw是另一个案例。如果你有其他案例研究,有充分记录的设计,我很乐意听到它!“

http://dirkriehle.com/2008/04/03/junit-38-documented-using-collaborations/

“摘要:本文描述了单元测试框架JUnit v3.8的设计。所采用的文档技术是基于协作的设计的增强版本,也称为角色建模。在基于协作的设计中,对象被查看在不同的上下文中扮演多个角色,不同的上下文被视为特定于任务的协作。文档通过将其分配给角色来解释JUnit 3.8框架中的每个方法。从而调查角色和协作是否可以作为功能的基本单元这样的功能度量可以用于多种目的,例如估计实施工作或测量复杂性。“

答案 1 :(得分:1)

C4F Developer Kit

  

套件功能包括拖放控件和组件,   所有工具和的SmartTags,Visual Basic和Visual C#源代码   样本以及完整的快速入门和API文档。

答案 2 :(得分:0)

我不能给你具体细节,但最好的来源(双关语)是你实际使用的东西。如果您可以访问平台标准库的源代码,请查看它们,如果您使用开源应用程序,请查看这些代码。

它们可能会远远超出您的行限制,但如果您实际上作为用户和程序员与代码进行交互,您将会更多地欣赏设计决策。

也要注意文档。在我的经验中,具有良好文档的程序更有可能拥有经过深思熟虑的代码。

答案 3 :(得分:0)

有一个开源ASP.NET CMS / Web应用程序框架,我在过去几年里一直在一起。

我已经非常努力地坚持良好的设计原则和模式 - 但这并不是说我已经让任何人“验证”它,所以你只有我的(希望不是太自我膨胀)意见。我有超过700次下载并没有错误的反馈 - 所以我只能猜测我没有做任何 错误。

故意遵循/实施的模式和原则包括:

  • 依赖性倒置(discussed here
  • 延迟加载
  • 单一责任原则
  • 稳定的依赖原则
  • 稳定的抽象原则
  • 接口隔离(至少要点!)

我的解决方案名为Morphfolia,可在CodePlex上使用:http://morphfolia.codeplex.com

我不确定代码行数有多大,但下载量很小。

答案 4 :(得分:0)

相关问题