Namespace C4.Net
Classes
- AbstractImpliedRelationshipsStrategy
Provides shared guard logic for implied-relationship strategies.
- AbstractWorkspace
Provides the shared metadata and configuration carried by all workspace representations.
- Animation
Describes a single animation step for a static or deployment view.
- AssemblyInfo
Placeholder type that anchors the assembly namespace for assembly-level attributes.
- AutomaticLayout
Captures the automatic layout settings applied to a view.
- Branding
Defines workspace-wide branding such as logos and fonts.
- CodeElement
Represents a code element, such as a class or interface, that is part of the implementation of a component.
- Color
Provides helpers for validating color values used by the view layer.
- ColorPair
Represents a validated background and foreground color combination.
- Component
A component (a grouping of related functionality behind an interface that runs inside a container).
- ComponentView
A component view that shows components inside a container and their direct neighbours.
- Container
A container (e.g. an application or data store).
- ContainerInstance
Represents a deployment instance of a Container, which can be added to a DeploymentNode.
- ContainerView
A container view.
- CreateImpliedRelationshipsUnlessAnyRelationshipExistsStrategy
This strategy creates implied relationships between all valid combinations of the parent elements, unless any relationship already exists between them.
- CreateImpliedRelationshipsUnlessSameRelationshipExistsStrategy
This strategy creates implied relationships between all valid combinations of the parent elements, unless the same relationship already exists between them.
- DefaultImpliedRelationshipsStrategy
The default strategy is to NOT create implied relationships.
- DefaultLayoutMergeStrategy
A default implementation of a LayoutMergeStrategy that:
- Sets the paper size (if not set).
- Copies element x,y positions.
- Copies relationship vertices.
Elements are matched using the following properties, in order:
- the element's full canonical name
- the element's name
- the element's description
- DeploymentElement
This is the superclass for model elements that describe deployment nodes, infrastructure nodes, and container instances.
- DeploymentNode
Represents a deployment node, which is something like:
- Physical infrastructure (e.g. a physical server or device)
- Virtualised infrastructure (e.g. IaaS, PaaS, a virtual machine)
- Containerised infrastructure (e.g. a Docker container)
- Database server
- Java EE web/application server
- Microsoft IIS
- etc
- DeploymentView
A deployment view, used to show the mapping of container instances to deployment nodes.
- Dimensions
Describes an explicit view size in pixels.
- DynamicView
A dynamic view, used to describe behaviour between static elements at runtime.
- Element
This is the superclass for all model elements.
- ElementNotPermittedInViewException
The exception thrown when a view rejects an element type or scope.
- ElementStyle
A definition of an element style.
- ElementView
An instance of a model element (Person, Software System, Container or Component) in a View.
- Enterprise
Represents the enterprise boundary that owns the software systems in a model.
- FilteredView
Represents a view on top of a view, which can be used to include or exclude specific elements.
- Font
Describes an external font resource used by branding.
- GroupableElement
Extends an element with optional grouping metadata used by views and renderers.
- HttpHealthCheck
Represents a HTTP-based health check.
- InfrastructureNode
Represents an infrastructure node, which is something like:
- Load balancer
- Firewall
- DNS service
- etc
- Model
A software architecture model.
- ModelItem
Provides common metadata shared by elements and relationships in the model.
- PaperSize
Represents a named paper or slide size that can be assigned to a view.
- Person
A person who uses a software system.
- Perspective
Represents an architectural perspective, that can be applied to elements and relationships. See https://www.viewpoints-and-perspectives.info/home/perspectives/ for more details of this concept
- Relationship
A relationship between two elements.
- RelationshipStyle
A definition of a relationship style.
- RelationshipView
An instance of a model relationship in a View.
- SequentialIntegerIdGeneratorStrategy
An ID generator that simply uses a sequential number when generating IDs for model elements and relationships. This is the default ID generator.
- SoftwareSystem
A software system.
- SoftwareSystemInstance
Represents a deployment instance of a Software System, which can be added to a DeploymentNode.
- StaticStructureElement
This is the superclass for model elements that describe the static structure of a software system, namely Person, SoftwareSystem, Container and Component.
- StaticStructureElementInstance
Represents a deployment instance of a SoftwareSystem or a Container, which can be added to a DeploymentNode.
- StaticView
Serves as the base type for views that render a static structural slice of the model.
- Styles
The styles associated with this set of views.
- SystemContextView
A system context view.
- SystemLandscapeView
Represents an System Landscape view that sits above the C4 model. This is the "big picture" view, showing the software systems and people in an given environment. The permitted elements in this view are software systems and people.
- Tags
Defines the built-in tags applied to elements and relationships.
- Vertex
Represents the X and Y coordinate of a bend in a relationship line.
- View
Defines the shared metadata, elements, and relationships for a rendered architecture view.
- ViewConfiguration
The configuration associated with a set of views.
- ViewSet
The set of views onto a software architecture model.
- Workspace
Represents a Structurizr workspace, which is a wrapper for a software architecture model and the associated views.
- WorkspaceUtils
Provides convenience helpers for loading, saving, and printing workspace JSON.
Interfaces
- IImpliedRelationshipsStrategy
Defines the contract for strategies that create implied relationships after an explicit relationship is added.
- IdGenerator
Defines how identifiers are generated and tracked for model elements and relationships.
- LayoutMergeStrategy
A pluggable strategy that can be used to copy layout information from one version of a view to another.
Enums
- Border
Defines the supported border styles for rendered elements.
- CodeElementRole
Identifies how a code element contributes to a component implementation.
- FilterMode
Determines whether a filtered view keeps or hides matching tags.
- InteractionStyle
Describes whether a relationship happens synchronously or asynchronously.
- Location
Describes whether an element belongs inside or outside the enterprise boundary.
- Orientation
Identifies the orientation of a paper size.
- RankDirection
Specifies the direction used by automatic layout to arrange ranks.
- Routing
Defines the supported routing styles for relationship lines.
- Shape
Defines the supported element shapes available to renderers.
- ViewSortOrder
Controls how a view set orders views when presented to consumers.