【问题标题】:What is a good Visual studio source code layout for cross-project inheritance hierarchies什么是跨项目继承层次结构的好Visual Studio源代码布局
【发布时间】:2013-03-27 10:46:37
【问题描述】:

我为不同的客户(Bob、Rick、Sue、Eve)开发了类似的计算包。计算包由几个计算模块(A、B、C、D、...)组成,它们以“责任链”模式组织。组装是用抽象工厂完成的。 由于大量代码在不同客户端的计算模块之间共享,它们被组织在一个层次结构中:

                 ICalcA
                   |
               AbstrCalcA
               |       |
   AbstrCalcAMale      AbstrCalcAFemale
    |         |           |         |
CalcABob   CalcARick   CalcASue   CalcAEve

(B、C、D、...的层次结构相同)。

现在发布管理规定,我按继承级别组织源代码:

Project: CalcCommon
  [CalcA]
    ICalcA.cs
    AbstrCalcA.cs
  [CalcB]
    ICalcB.cs
    AbstrCalcB.cs
  [CalcC]
    ...

Project: CalcMale
  [CalcA]
    AbstrCalcAMale.cs
  [CalcB]
    AbstrCalcBMale.cs
  [CalcC]
    ....

Project: CalcBob
  [CalcA]
    CalcABob.cs
  [CalcB]
    CalcBBob.cs
  [CalcC]
    ....

Project: CalcFemale
   ....

对于 Bob,我发布了 CommonCalc.dll、CalcMale.dll 和 CalcBob.dll。

现在这一切都很好,但是对于许多模块、辅助类等,在同一个模块层次结构中工作非常麻烦。密切相关的类(例如 ICalcA 和 CalcABob)在解决方案资源管理器中很远。我的团队中似乎没有人在不搜索班级名称的情况下找到任何东西——如果他能记住的话。功能往往会在错误或多个层次结构级别中实现。

我该如何改善这种情况?

我正在考虑为每个模块层次结构级别(项目:CalcCommonA、CalcMaleA、CalcBobA、CalcRickA、CalcCommonB、CalcMaleB...)创建一个项目,并通过解决方案文件夹对它们进行分组。

【问题讨论】:

    标签: visual-studio organization code-organization project-organization


    【解决方案1】:

    我刚刚发现解决方案资源管理器顶部的新搜索栏可以派上用场。

    第 1 步:确保所有与功能 A 相关的类的类名中都包含“FeatureA”。

    第 2 步:如果在 FeatureA 层次结构中工作,请在搜索/过滤栏中输入“FeatureA”。

    这将根据需要仅显示给该特定层次结构的类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多