You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/modeling/analyze-and-model-your-architecture.md
+13-27Lines changed: 13 additions & 27 deletions
Original file line number
Diff line number
Diff line change
@@ -3,28 +3,15 @@ title: Analyze and model your architecture
3
3
ms.date: 11/04/2016
4
4
ms.topic: conceptual
5
5
helpviewer_keywords:
6
-
- "Visual Studio Ultimate, exploring code"
7
-
- "Visual Studio Ultimate, visualizing code"
8
6
- "diagrams - modeling"
9
-
- "Visual Studio ALM, modeling"
10
-
- "application, design"
11
7
- "architecture"
12
8
- "code visualization"
13
9
- "application design"
14
-
- "applications, architecture"
15
10
- "code exploration"
16
-
- "Visual Studio ALM, exploring code"
17
11
- "modeling"
18
12
- "application architecture"
19
-
- "application, modeling"
20
-
- "applications, modeling"
21
13
- "architecture [Visual Studio ALM], modeling"
22
14
- "application modeling"
23
-
- "Visual Studio Ultimate, modeling"
24
-
- "architecture [Visual Studio Ultimate], modeling"
25
-
- "application, architecture"
26
-
- "Visual Studio ALM, visualizing code"
27
-
- "applications, designing"
28
15
author: gewarren
29
16
ms.author: gewarren
30
17
manager: jillfra
@@ -43,22 +30,23 @@ Make sure your app meets architectural requirements by using Visual Studio archi
43
30
44
31
See [Scenario: Change your design using visualization and modeling](../modeling/scenario-change-your-design-using-visualization-and-modeling.md).
45
32
46
-
## To
33
+
## Article reference
47
34
48
35
|||
49
36
|-|-|
50
-
|**Visualize code**:<br /><br /> - See the code's organization and relationships by creating code maps. Visualize dependencies between assemblies, namespaces, classes, methods, and so on.<br />- See the class structure and members for a specific project by creating class diagrams from code.<br />- Find conflicts between your code and its design by creating dependency diagrams to validate code.|- [Visualize code](../modeling/visualize-code.md)<br />- [Working with Classes and Other Types (Class Designer)](../ide/class-designer/designing-and-viewing-classes-and-types.md)<br />- [Video: Understand design from code with Visual Studio 2015 code maps](https://channel9.msdn.com/Events/Visual-Studio/Connect-event-2015/502)<br />-[Video: Validate your architecture dependencies in real time](https://sec.ch9.ms/sessions/69613110-c334-4f25-bb36-08e5a93456b5/170ValidateArchitectureDependenciesWithVisualStudio.mp4)|
51
-
|**Define the architecture**:<br /><br /> - Define and enforce constraints on dependencies between the components of your code by creating dependency diagrams.|-[Video: Validate architecture dependencies with Visual Studio (Channel 9)](https://channel9.msdn.com/Events/Connect/2016/170)|
52
-
|**Validate your system with the requirements and intended design:**<br /><br /> - Validate code dependencies with dependency diagrams that describe the intended architecture and prevent changes that might conflict with the design.|-[Video: Validate architecture dependencies with Visual Studio (Channel 9)](https://channel9.msdn.com/Events/Connect/2016/170)|
53
-
|**Customize models and diagrams**:<br /><br /> - Create your own domain-specific languages.|-[Modeling SDK for Visual Studio - Domain-Specific Languages](../modeling/modeling-sdk-for-visual-studio-domain-specific-languages.md)|
54
-
|**Generate text using T4 templates**:<br /><br /> - Use text blocks and control logic inside templates to generate text-based files.<br /> - T4 template build with MSBuild included in Visual Studio|-[Code Generation and T4 Text Templates](../modeling/code-generation-and-t4-text-templates.md)|
55
-
|**Share models, diagrams, and code maps using Team Foundation version control**:<br /><br /> - Put code maps, projects, and dependency diagrams under Team Foundation version control so you can share them.||
37
+
|**Visualize code**:<br /><br />- See the code's organization and relationships by creating code maps. Visualize dependencies between assemblies, namespaces, classes, methods, and so on.<br />- See the class structure and members for a specific project by creating class diagrams from code.<br />- Find conflicts between your code and its design by creating dependency diagrams to validate code.|- [Visualize code](../modeling/visualize-code.md)<br />- [Working with Classes and Other Types (Class Designer)](../ide/class-designer/designing-and-viewing-classes-and-types.md)<br />- [Video: Understand design from code with Visual Studio 2015 code maps](https://channel9.msdn.com/Events/Visual-Studio/Connect-event-2015/502)<br />- [Video: Validate your architecture dependencies in real time](https://sec.ch9.ms/sessions/69613110-c334-4f25-bb36-08e5a93456b5/170ValidateArchitectureDependenciesWithVisualStudio.mp4)|
38
+
|**Define the architecture**:<br /><br />- Define and enforce constraints on dependencies between the components of your code by creating dependency diagrams.|- [Video: Validate architecture dependencies with Visual Studio (Channel 9)](https://channel9.msdn.com/Events/Connect/2016/170)|
39
+
|**Validate your system with the requirements and intended design:**<br /><br />- Validate code dependencies with dependency diagrams that describe the intended architecture and prevent changes that might conflict with the design.|- [Video: Validate architecture dependencies with Visual Studio (Channel 9)](https://channel9.msdn.com/Events/Connect/2016/170)|
40
+
|**Customize models and diagrams**:<br /><br />- Create your own domain-specific languages.|- [Modeling SDK for Visual Studio - Domain-Specific Languages](../modeling/modeling-sdk-for-visual-studio-domain-specific-languages.md)|
41
+
|**Generate text using T4 templates**:<br /><br />- Use text blocks and control logic inside templates to generate text-based files.<br /> - T4 template build with MSBuild included in Visual Studio|- [Code Generation and T4 Text Templates](../modeling/code-generation-and-t4-text-templates.md)|
42
+
|**Share models, diagrams, and code maps using Team Foundation version control**:<br /><br />- Put code maps, projects, and dependency diagrams under Team Foundation version control so you can share them.||
56
43
57
44
To see which editions of Visual Studio support each feature, see [Edition support for architecture and modeling tools](../modeling/what-s-new-for-design-in-visual-studio.md#VersionSupport)
58
45
59
46
## Types of models and typical uses
60
47
61
48
### Code maps
49
+
62
50
Code maps help you see the organization and relationships in your code.
63
51
64
52
**Typical uses:**
@@ -71,8 +59,9 @@ Code maps help you see the organization and relationships in your code.
71
59
-[Use code maps to debug your applications](../modeling/use-code-maps-to-debug-your-applications.md)
72
60
-[Find potential problems using code map analyzers](../modeling/find-potential-problems-using-code-map-analyzers.md)
73
61
74
-
### Dependency diagram
75
-
Dependency diagrams let you define the structure of an application as a set of layers or blocks with explicit dependencies. You can run validation to discover conflicts between dependencies in the code and dependencies described on a dependency diagram.
62
+
### Dependency diagrams
63
+
64
+
Dependency diagrams let you define the structure of an application as a set of layers or blocks with explicit dependencies. Live validation shows conflicts between dependencies in the code and dependencies described on a dependency diagram.
76
65
77
66
**Typical uses:**
78
67
@@ -86,7 +75,8 @@ Dependency diagrams let you define the structure of an application as a set of l
86
75
-[Validate code with dependency diagrams](../modeling/validate-code-with-layer-diagrams.md)
87
76
88
77
### Domain-specific language (DSL)
89
-
A DSL is a notation that you design for a specific purpose. In Visual Studio, it is usually graphical.
78
+
79
+
A DSL is a notation that you design for a specific purpose. In Visual Studio, it's usually graphical.
90
80
91
81
**Typical uses:**
92
82
@@ -97,10 +87,6 @@ A DSL is a notation that you design for a specific purpose. In Visual Studio, it
97
87
98
88
-[Modeling SDK for Visual Studio - Domain-Specific Languages](../modeling/modeling-sdk-for-visual-studio-domain-specific-languages.md)
99
89
100
-
## Where can I get more information?
101
-
102
-
[Visual Studio Visualization & Modeling Tools Forum](http://go.microsoft.com/fwlink/?LinkId=184720)
103
-
104
90
## See also
105
91
106
92
-[What's new for modeling in Visual Studio 2017](../modeling/what-s-new-for-design-in-visual-studio.md)
Copy file name to clipboardExpand all lines: docs/modeling/creating-custom-t4-text-template-directive-processors.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ manager: jillfra
10
10
ms.workload:
11
11
- "multiple"
12
12
---
13
-
# Creating Custom T4 Text Template Directive Processors
13
+
# Create Custom T4 Text Template Directive Processors
14
14
15
15
The *text template transformation process* takes a *text template* file as the input and produces a text file as the output. The *text template transformation engine* controls the process, and the engine interacts with a text template transformation host and one or more text template *directive processors* to complete the process. For more information, see [The Text Template Transformation Process](../modeling/the-text-template-transformation-process.md).
Copy file name to clipboardExpand all lines: docs/modeling/customizing-and-extending-a-domain-specific-language.md
+9-10Lines changed: 9 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -10,31 +10,30 @@ manager: jillfra
10
10
ms.workload:
11
11
- "multiple"
12
12
---
13
-
# Customizing and Extending a Domain-Specific Language
14
-
Visual Studio Modeling and Visualization SDK (VMSDK) provides several levels at which you can define modeling tools:
13
+
# Customize and extend a domain-specific language
15
14
16
-
1. Define a domain-specific language (DSL) using the DSL Definition diagram. You can quickly create a DSL with a diagrammatic notation, a readable XML form, and the basic tools that are required to generate code and other artifacts.
15
+
Visual Studio Modeling and Visualization SDK (VMSDK) provides several levels at which you can define modeling tools:
17
16
18
-
For more information, see [How to Define a Domain-Specific Language](../modeling/how-to-define-a-domain-specific-language.md).
17
+
1. Define a domain-specific language (DSL) using the DSL Definition diagram. You can quickly create a DSL with a diagrammatic notation, a readable XML form, and the basic tools that are required to generate code and other artifacts. For more information, see [How to Define a Domain-Specific Language](../modeling/how-to-define-a-domain-specific-language.md).
19
18
20
19
2. Fine-tune the DSL by using more advanced features of the DSL Definition. For example, you can make additional links appear when the user creates an element. These techniques are mostly achieved in the DSL Definition, and some require a few lines of program code.
21
20
22
-
3. Extend your modeling tools by using program code. VMSDK is designed specifically to make it easy to integrate your extensions with the code that is generated from the DSL Definition. For more information, see [Writing Code to Customize a Domain-Specific Language](../modeling/writing-code-to-customise-a-domain-specific-language.md).
21
+
3. Extend your modeling tools by using program code. VMSDK is designed specifically to make it easy to integrate your extensions with the code that is generated from the DSL Definition. For more information, see [Writing Code to Customize a Domain-Specific Language](../modeling/writing-code-to-customise-a-domain-specific-language.md).
23
22
24
23
> [!NOTE]
25
-
> When you have updated the DSL Definitions file, do not forget to click **Transform All Templates** in the toolbar of Solution Explorer before rebuilding your solution.
24
+
> When you have updated the DSL Definitions file, don't forget to click **Transform All Templates** in the toolbar of **Solution Explorer** before rebuilding your solution.
26
25
27
-
## <aname="customShapes"></a> In this Section
26
+
## Article reference
28
27
29
28
|To achieve this effect|Refer to this topic|
30
29
|-|-|
31
-
|Allow the user to set the color and style properties of a shape.|Right-click the shape or connector class, point to **Add Exposed**, and click an item.<br /><br /> See [Customizing Presentation on the Diagram](../modeling/customizing-presentation-on-the-diagram.md).|
30
+
|Allow the user to set the color and style properties of a shape.|Right-click the shape or connector class, point to **Add Exposed**, and click an item.|
32
31
|Different classes of model element look similar on the diagram, sharing properties such as initial height and width, color, tooltips.|Use inheritance between shapes or connector classes. Mappings between derived shapes and derived domain classes inherit the mapping details of the parents.<br /><br /> Or, map different domain classes to the same shape class.|
33
32
|A class of model element is displayed by different shapes contexts.|Map more than one shape class to the same domain class. When you build the solution, follow the error report and provide the requested code to decide what shape to use.|
34
33
|Shape color or other features such as font indicate current state.|See [Updating Shapes and Connectors to Reflect the Model](../modeling/updating-shapes-and-connectors-to-reflect-the-model.md).<br /><br /> Create a rule that updates the exposed properties. See [Rules Propagate Changes Within the Model](../modeling/rules-propagate-changes-within-the-model.md).<br /><br /> Or, use OnAssociatedPropertyChanged() to update non-exposed features such as link arrows or font.|
35
34
|Icon on shape changes to indicate state.|Set the visibility of the decorator mapping in the DSL Details window. Locate several image decorators on the same position. See [Updating Shapes and Connectors to Reflect the Model](../modeling/updating-shapes-and-connectors-to-reflect-the-model.md).<br /><br /> Or, override `ImageField.GetDisplayImage()`. See example in <xref:Microsoft.VisualStudio.Modeling.Diagrams.ImageField>.|
36
-
|Set a background image on any shape|Override InitializeInstanceResources() to add an anchored ImageField. See [Customizing Presentation on the Diagram](../modeling/customizing-presentation-on-the-diagram.md).|
37
-
|Nest shapes to any depth|Set up a recursive embedding tree. Define BoundsRules to contain the shapes. See [Customizing Presentation on the Diagram](../modeling/customizing-presentation-on-the-diagram.md).|
35
+
|Set a background image on any shape|Override InitializeInstanceResources() to add an anchored ImageField.|
36
+
|Nest shapes to any depth|Set up a recursive embedding tree. Define BoundsRules to contain the shapes.|
38
37
|Attach connectors at fixed points on an element's boundary.|Define embedded terminal elements, represented by small ports on the diagram. Use BoundsRules to fix the ports in place. See the Circuit Diagram sample at [Visualization and Modeling SDK](http://go.microsoft.com/fwlink/?LinkID=186128).|
39
38
|Text field displays a value derived from other values.|Map the text decorator to a Calculated or Custom Storage domain property. For more information, see [Calculated and Custom Storage Properties](../modeling/calculated-and-custom-storage-properties.md).|
40
39
|Propagate changes between model elements, or between shapes|See [Validation in a Domain-Specific Language](../modeling/validation-in-a-domain-specific-language.md).|
0 commit comments