Design Patterns Thinking and Architecture at Scale

This talk is for people who are having difficulty creating and maintaining application architectures.  While test-driven development, automated testing and continuous integration are great practices to facilitate local design and making changes without risk, the architecture within which these changes take place will have a large impact on the effort required.

The Agile community is recognizing the need to address the challenges of Architecture at Scale.  While many people recognize the importance of patterns, they tend to focus on patterns as a set of solutions.  This often leads people to try to develop by combining patterns.  This is actually the anti-thesis of the true intention of design patterns.  In reality, patterns are a way of thinking – the patterns themselves are a result of this thinking.  On quick examination of most design patterns, one can readily see the patterns are used to encapsulate some variation (e.g., algorithm, # of items, order of execution, …). 

While the defined patterns are very useful to know and use, it is the thought process underneath them that is much more powerful. The essence of design patterns thinking is:

  • Understand the forces in the problem you are trying to solve
  • Reduce the complexity of these forces by making a distinction between the issue and potential implementations
  • Create a simplified model of the issues to be managed in the application – in particular those issues that tend to vary

While design patterns live at the code level, these concepts live from code to high level design.  The trick is to create a way of applying these technique at much greater scales.  Fortunately, this technique already exists – commonality-variability analysis – introduced by James Coplien and extended with the analysis matrix by Al Shalloway.  Using CVA, one can take these concepts up to any scale.

This seminar has three parts to it:

  • A quick introduction to Design Patterns Thinking
  • Simplifying complex models with commonality-variability analysis
  • Using design patterns thinking and a model of issues in a problem domain to create and maintain an application architecture

All the Details

Mar. 8, 2017
6:00pm to 8:00pm
Cost: Free
CDK Global
605 5th Ave S #800
Seattle WA 98104 US
Questions or problems with registration or directions? Contact Andrea Bain for assistance.
Presented By:
Net Objectives
PDUs: 2 PDUs Category B

Share This Event