Level: Intermediate Arun Chhatpar (arunchhatpar@gmail.com), Software Architect, Freelance Software Architect and Consultant
05 Jun 2007 Design patterns are one of the best ways to share design ideas. They give
software architects and designers a tool, or a language, to capture their
experiences by solving common recurring problems in a methodical way. In this
two-part series you explore ways to use design patterns to solve your everyday
design problems. This tutorial, Part 2 in the series, uses the same railway reservation system discussed in
Part 1 to show you advantages and pitfalls of applying different architecture
patterns.
In this tutorial
Overview This series demonstrates how to apply design patterns to architecture design
problems using a railway reservation case study.
Part 1
introduced a railway reservation system and walked you through several design
considerations that help determine where to use design patterns. In Part 2, explore nonfunctional requirements of the application,
to understand why you, as a software architect, must take care of requirements that affect
the performance, availability, scalability, and enhanceability of an
application. This tutorial also touches on design considerations for disaster recovery and
fail-back capabilities, concluding with information about how to best use
frameworks in your designs. Some of the architectural considerations discussed in this tutorial are:
- High performance
- High scalability
- Failover and failback capabilities
- Disaster recovery
Prerequisites
This tutorial assumes you are familiar with design patterns and with basic
object-oriented concepts. Some understanding of Unified Modeling Language (UML) is helpful, but not required.
The sample code is written in Java™, but it's simple enough to be
translated to the language of your choice.
System requirements
You can download Java 5.0 if
needed.
Duration
1 hour
Formats html
The benefits of taking this tutorial
Learn how patterns can speed your design process.
|