【问题标题】:Sample Projects with Design pattern statistics [closed]具有设计模式统计的示例项目 [关闭]
【发布时间】:2011-07-18 13:23:01
【问题描述】:

我已经实现了一个分析 c# 源代码并检测设计模式的工具。我试图用几个测试用例来验证这个工具,它工作得很好。我想在检测设计模式的同时找出误报和漏报的数量。

因此,为了进一步评估该工具,我正在寻找一些现有的开源项目,其中包含其中实现的设计模式的统计数据。 统计数据...

我可以将该工具的结果与项目提供的这些统计数据进行比较。这将帮助我知道我的工具可以找到的设计模式的数量,在已经给定的数量中。

如果我能获得很少的此类项目的链接会很有帮助。

提前致谢。

【问题讨论】:

  • 这里投反对票的原因是什么?

标签: c# design-patterns open-source projects-and-solutions


【解决方案1】:

我认为代码不是设计模式信息的最佳来源,因为它与最初的想法有点矛盾。

设计模式只是方向(或想法),而不是可重用的组件,否则我们将拥有一大堆名为 DotNetGoF.dll 的库,其中包含所有 GoF 模式。此外,在所有实际应用程序中,所有模式都可能被业务领域继承的复杂性所隐藏。如果您查看所有编程书籍中的所有示例,您会发现所有这些示例都比具有大量错误处理逻辑等的实际应用程序简单得多。

我认为您需要看看好书或其他资源,例如 Steven John Metsker 或 DotFactory 的“C# 中的设计模式”。

编辑:您可以使用.net framework source code 作为设计模式的重要来源。 .Net 框架包含 Singletons、Factory Methods、Abstract Factory、Builder、Decorator、Strategy 和许多其他 GoF 模式。

【讨论】:

  • 我有一个静态代码分析方法,我分析源代码以检测代码中的模式......所以我需要几个项目来检查正确性。并了解误报和误报。
  • 首先,你不清楚你要达到什么目标。我建议您更新您的问题以更清楚地说明您的问题。其次,我认为通过分析源代码很难找到非平凡的模式。例如,很容易找到 Singleton、Factory Method 或 Builder,但在复杂的应用程序中几乎不可能找到 Adapter、Bridge 或 Chains of Responsibility。更不清楚你为什么需要它?我认为使用 FX Cop 之类的东西来检查 .net 相关的 untipatterns 比在源代码中查找 GoF 模式更有用。
【解决方案2】:

如果我理解正确,您正在搜索包含设计模式的代码库,以查看您的分析工具是否会检测代码中的设计模式。如果这是正确的,您可以尝试设计模式书籍中的示例代码吗?-

http://examples.oreilly.com/9780596527730/

另外,已经有一段时间了,但我似乎记得,sharp development 的代码库包含许多设计模式,并且有一本书描述了程序是如何组合在一起的,所以你可以随时交叉参考,看看你的工具正在寻找正确的位 -

http://sharpdevelop.net/opensource/sd/

【讨论】:

    猜你喜欢
    • 2010-10-14
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多