TechEd 2010 – Day #3

Visual Studio 2010I started the day with the session presented by Peter Provost about “Architecture Discovery with Visual Studio 2010 Ultimate”.

He did a demo on the dependency feature –  a great visual way to look at your code and navigate through it. The dependency file format is XML, more specifically DGML (Directed Graph Markup Language).

He went on presenting the “Layer model diagram”. I never used it before, but definitely I will. As an Architect you can now draw “boxes and lines” in a diagram that can not only be used to communicate with the team, but also use it to validate your architectural design at compilation time.

In fact, you can use the layer model in two ways:

  • To find out the existing relation ships between the assemblies
    • => This is “Reverse Engineering/Architecture”.
  • Or to draw the layers as you design them, place the assemblies in their layers and then validate the layer model during the compilation time. As you amend the code, either to introduce new feature or to fix bugs, you might end up create new dependencies that might violate your layer model. In that case, you will have a compilation error.
    • => This like a “Test first” approach (term coined by Peter Provost) where you design your layers and expect the code to fit it.
    • => You can also then look at you design and refactor your layers if require.

I asked Peter about a ” DGML Viewer”: right now there is the one embeded in Visual Studio 2010. There is not any (proposed by Microsoft) as a standalone viewer (Something the community have asked – maybe MS will do it at somepoint).

Here is a sample layer diagram I did on a tool I am developing (SteelVersion) – I am using the validation feature during compilation time :

Layer diagram sample

Here are the other sessions I attended that day:

  • “Building Extensible Silverlight Applications with MEF (Managed Extensibility Framework)” – speaker: Jeff Prosise (Very good).
  • “Windows Processes, Threads and Job All around” – speaker: Maral Topalian.
Leave a comment

1 Comment

  1. Layer model diagram – a new way to view and test your Application « Joao @ iLab8

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: