Agile Zone is brought to you in partnership with:

Eric has posted 96 posts at DZone. View Full User Profile

Mario Cardinal on Layered Architectures

  • submit to reddit

Mario Cardinal believes there should be more focus on Layers and their interfaces rather than objects.  One of the tools in Visual Studio's Team Foundation is the layer diagram, which helps teams look at the layer perspective.  The layer diagrams make it easy to show developers the overall structure of the application and validate that their intentions are implemented correctly and the application layers work together.

Mario Cardinal is an independent software architect focused on Visual Studio 2010 and agile practices for architecture.  At DevTeach 2010, Cardinal discusses his alternative approach for TDD, CI, and other agile development practices.  His approach focuses on the "layer level."

Published at DZone with permission of its author, Eric Hagan.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Tom Tuddenham replied on Thu, 2010/05/06 - 8:16pm

I was digging this right up until Mario started talking about all the things we do (internal layering of the server code, etc) as if we don't do them. I'm not a hard core architecturist - nor agilist - but this sounds a way to let me do the things I already do.. then I kinda stopped listening to the spiel.. sorry.

Rails as an example, doesn't provide just a "component" model out of the box, nor Django, nor the numerous web-app frameworks. We've been talking about this stuff for years and have already got good models. Mario doesn't add anything about these solid frameworks other that "still there's work to do" without illustrating what. Of course none of these frameworks is perfect, but they generally seem to lend themselves to an extension model that encourages respect for layers.

Dragging and dropping code into a layer sounds a bit odd. And some of the issues with communicating with developers can be addressed with techniques like behaviour-driven design. I'm not sure what problem is being solved. It sounds a wee bit like the old executable UML idea, so maybe I'm running scared because of that.

I'm not against what Mario is saying - but I'm not convinced that I need a tool to help me do what I should - as a developer - be already doing. Full respect to Mario, in that his underlying message - that we need to be mindful of layers in our application - is sound.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.