Pattern-based development is enabling IT departments to design software more quickly and from a greater level of abstraction, while improving on the quality and reusability of code.
Patterns capture a specific knowledge about the architectures, platforms and technologies to help create reusable code. And as developers create and link together more patterns to create pattern frameworks, they can significantly reduce the time it takes to develop an application compared to creating one from scratch.
Clearly, pattern-based development delivers on the promise of increased developer productivity, but does it go far enough?
"There are many types of patterns in use today from many sources. Strictly speaking, however, it can be argued that these so-called patterns are more code templates or code patterns than patterns in the true meaning of the word," says Ben van Niekerk, product manager at Compuware SA.
And although it is true that developers do gain some economies of time by using code patterns to speed up initial development, their limitations as `true` patterns are becoming more evident.
The reason, explains Van Niekerk, is that code patterns do not help to accelerate ongoing maintenance and change.
"The power of patterns has to be brought to the next level. To do this, patterns and models must be combined to achieve greater productivity and to reduce technology and business complexity," he says.
Object Management Group`s (OMG) Model Driven Architecture (MDA) is a key emerging standard. PricewaterhouseCoopers highlighted MDA in its 2002-2004 Technology Forecast as a `significant technology trend` to watch.
Automatically transforming models into a proper architecture and eventually into a working application is what MDA is aiming at.
OMG is currently working with Compuware and IBM to define this standard and make it part of MDA. When it is accepted, it will enable business-focused developers with varying experience levels to rapidly produce reliable business applications on complex platforms such as J2EE (Java 2 Enterprise Edition) and .Net.
"To gain further benefits, patterns also need to feature enhanced functions. A key requirement is pattern editing that will assist software architects to build and maintain their own patterns, tailored to their companies` requirement," says Van Niekerk.
Although patterns hold great promise for the software development and are already accelerating application development, it is the combination of model and patterns, however, that will deliver the real promise of increased productivity - taking software development to the next level.
Share