Thursday, November 12, 2009

1.3 Use of Patterns











 < Day Day Up > 














1.3 Use of Patterns





Patterns help capture best practice in solving problems in almost every domain. Patterns have been applied to areas ranging from the architecture of buildings [Alex79] to the architecture of software systems and to teaching [Peda04]. In this book we specifically look at patterns applied to software architecture.



Patterns in software architecture can show how one or several design principles can be applied in a concrete situation to find an optimal solution. As described in [POSA1], the application of design principles finds its manifestation through many enabling techniques, such as abstraction, encapsulation and modularization. Using patterns can help to identify and document some of the design principles that are above the level of single classes and instances. These identified abstractions can then facilitate reuse of successful software architectures and designs. By reusing successful software architectures, common mistakes and pitfalls in software design can be avoided. For a more in-depth understanding of what a pattern is, as well as a history of patterns, please refer to [POSA1] and [POSA2].



As described earlier, efficient resource management inherently affects the design and development of any kind of software. In a multi-tier system, resource management is important at every tier of the system and even across tiers. It is essential that resource management is implemented properly from a system perspective.



The design techniques that must be used when implementing resource management in a system depend largely on the domain, the system constraints, and the system requirements. Patterns abstract from a particular domain and are driven by system requirements and constraints. They therefore provide the most effective means of describing the design techniques appropriate for use in a given system. One of the fundamental elements of a pattern is the context in which the pattern is applicable. This can be used to identify systems in which a particular resource management strategy should be used.



Another key element of a pattern is a set of forces that the pattern helps to address. In the context of resource management, this can be used to identify parts of a system where one or more patterns can be applied.


















 < Day Day Up > 



No comments: