Replies: 1 comment 2 replies
-
Correct, this is by design, with the DSL being imperative rather than declarative (https://docs.structurizr.com/dsl/basics). You've probably seen that LikeC4 supports this feature (https://likec4.dev/docs/dsl/references/), but it's not something that will be added to Structurizr. The DSL parser is open source though, so you're welcome to fork it and add forward referencing via something like a double-pass parsing loop. I know of a couple of teams who have done this, but the results are subpar, with features such as implied relationships, scripts, and plugins being particularly negatively affected by the change. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I’m no language designer expert so bear with me if I use the terminology wrong. The order in which the objects are defined in the model is important. It is at is the model is parsed procedurally instead of compiled. This has many consequences, such as many relationships having to be defined last in the model which makes them hard to overview and maintain. I would really like to be able to define all relationships nested (as children) on their source element.
Beta Was this translation helpful? Give feedback.
All reactions