Many people like to use visual designers to create domain models for a number of reasons: they save you writing boilerplate code, they make it very easy to see how entities relate to each other, and so on. However, when models become large, the visual representation can be hard to understand — there’s no way of “chunking” the model into sub-domains, and the relationships between the large number of entities can become a rat’s nest of overlapping arrows.
LightSpeed 3.0 provided some relief from this in the forum of a filtering feature. You could tag entities to identify the sub-domains they belonged to, and then you could hide everything except one sub-domain. (We provided several other filtering options too, which can be handy to know about.)
LightSpeed 3.1 builds on this by allowing you to save filters as “quick views,” so that you can easily return to them. So you can set up a filter to show, say, all entities tagged ‘sales’ and their associated entities, and save that as the Sales quick view. Then you can set up another filter to show all entities tagged ‘logistics’ and their associated entities, and save that as the Logistics quick view. And now you can switch into either of these two views with just a couple of clicks of the mouse.
To create a quick view, set up the filter in the normal way through the LightSpeed Model Explorer window (see the articles linked above if you’ve not played with this before). Then right-click the background, choose View and select Save Current as QuickView from the cascading menu.
To switch to a quick view, right-click the model, choose View and select the desired view from the list. Easy as that! (And if your filter is just a tag, you don’t even need to save the view — as you can see from the screenshot, tags appear on the View menu automatically.)
This isn’t the only improvement we’ve made to large model handling in LightSpeed 3.1. In particular, filtered views don’t help with concurrent editing, where two developers need to work on (different parts of) the model at the same time. We’ll talk about how LightSpeed 3.1 addresses this issue in Part 2. In the meantime, if you want to try out the new quick view feature, download the free LightSpeed Express edition today and take it for a spin!
Working with large domain models in LightSpeed 3.1 – Part 1…
Thank you for submitting this cool story – Trackback from DotNetShoutout…
Ok – that is a very very nice way of handing that (within the limitations of DSL tools).
[...] a previous post, I talked about some of the issues that arise when you want to work on a large model in a visual [...]
There are potentially design time and runtime issues with large models. Does this feature address runtime issues as well, for instance loading the model in memory, or other potential issues?
Thanks,
Hi John,
No this feature is just to allow for better management of models within the visual designer, it has no impact on the model at runtime. If you are encountering any runtime issues please let us know the details (pop a post in the support forums at http://www.mindscapehq.com/forums/forum/9) and we would be happy to try and help.
Jeremy
Leave a Reply