Visual Studio 2008类设计器 - 关联

时间:2009-12-08 22:53:17

标签: visual-studio visual-studio-2008 class-design

我们正在尝试将VS2008类设计器用于类似UML的类图。但是,当我们在两个类之间创建“关联”链接时,VS2008正在为我们的代码添加行!我们不希望这样。

我们不希望这样做的一个原因是我们的关联理念(通过集合参数等)与VS2008不同。例如,我们希望在类图中包含以下类型的关联:

  1. A类是B类的财产。
  2. A类位于B类的集合属性中。
  3. A类实例化并使用B类的属性或方法。
  4. VS2008似乎认为所有关系都是#1类型,并通过重写代码强制它们进入这个模型。反正有没有使用VS2008类建模工具来更有效地容纳所有3种类型的关联?

    更新:我选择了Visio,但我认为有一些工具允许使用绕组进行UML建模,包括Enterprise Architect和可能的VS2010。

4 个答案:

答案 0 :(得分:1)

使用Visio。 Visual Studio中的类图设计器旨在与您的代码紧密集成并与之保持同步。

答案 1 :(得分:1)

你应该澄清一下。你是什​​么意思“A类属于B类财产”?你的意思是B级有“A”型的属性吗?

这不是UML术语中的关联 - 它是一种依赖。实际上,您的所有示例都是依赖项,而不是关联。


你的意思是:

public class ClassA {}

public class ClassB
{
    public ClassA Property1 {get;set;}
}

如果这是你的意思,那么我会把它读成

  

B类有一个名为的属性   “Property1”。 Property1属于类型   “ClassA的”。

在UML中,这不是一个关联 - 它是一个依赖。


我会承认,有一组属性的子集直接对应于关联。事实上,我上面的例子是该子集的成员。

一个反例(我想到的)是:

public class ClassA {}

public class ClassB
{
    public ClassA Property1 
    {
        get {/* perform some arbitrary calculation, then return the result */}
        set {}
    }
}

我为考虑一般情况道歉,而不是具体案例。

已经给出了原始问题的真正答案:类设计器是类设计器,而不是UML类图工具。它使用类似于UML类图的表示法,但它不是用于生成类图的工具 - 它是用于设计.NET类的工具。

将此与Visual Studio 2010中提供的UML类图形进行对比,后者首先是UML,第二类是类设计。

答案 2 :(得分:0)

类设计器不是像Visio这样的通用图表工具。它是POCO课程的“winforms设计师”。这就像在表单上放置一个标签作为注释,但不想让visual studio真正创建标签。

答案 3 :(得分:0)

Visual Studio 2010 Ultimate支持UML类图以及序列,组件,用例和活动图。编辑这些图表不会影响您的代码。您还可以从代码创建序列,依赖关系图和层图,并编辑它们以专注于您想要的区域。对这些图表的更改也不会影响您的代码。

我在my profile上发布了更多信息以获取更多信息。