This repository was archived by the owner on Mar 28, 2026. It is now read-only.
Repository navigation
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Description
Hello.
I was not very satisfied with the way implicit relationship is created and displayed, if there are 2 or more relations between lower-level elements.
Our preferred approach would be to use the former, then find duplicate links and override them (if needed) by specifying a relationship between two higher-level elements - with more generalized description (e.g. Writes do DB + Reads from DB = Uses DB). Is this approach fine, do you see any problems? I don't, higher-level relation is not displayed on lower-level diagram.
However, this way we end up by having all the implied relations + the one generalized.
The issue may be
CreateImpliedRelationshipsUnlessSameRelationshipExistsStrategy:boolean createRelationship = !source.hasEfferentRelationshipWith(destination, relationship.getDescription());It creates implicit relationship if not exists by comparing both source and destination elements and relationship's description.
Hence if I add explicit relation with generalized description, it is not detected.
Would it be solved by adding another strategy (let's call it CreateImpliedRelationshipsUnlessSimilarRelationshipExistsStrategy' - using overload of
hasEfferentRelationshipWithwithout description?public boolean hasEfferentRelationshipWith(Element element)vs.
public boolean hasEfferentRelationshipWith(Element element, String description)Priority
Low (I'm willing to make a pull request - please add a comment below summarising your approach before making a PR)
More information
No response
All reactions