Thursday, 20 October 2011

SOFTWARE ARCHITECTURE & DESIGN PATTERNS

Software Architecture:

The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them. Architecture is concerned with the public side of interfaces; private details of elements—details having to do solely with internal implementation—are not architectural.”


Pattern:

Patterns and Pattern Languages are used to describe best practices, good designs, and capture experience for reuse.


Design pattern:

A design pattern is a repeatable solution to a software engineering problem. Unlike most program-specific solutions, design patterns are used in many programs. Design patterns are not considered finished product; rather, they are templates that can be applied to multiple situations and can be improved over time, making a very robust software engineering tool. Because development speed is increased when using a proven prototype, developers using design pattern templates can improve coding efficiency and final product readability.


Design patterns are classified as:

A) Creational patterns:



Creational design patterns deal with object creation mechanisms

B) Structural patterns:



Structural design patterns focus on relationships/interfaces between entities and objects

C) Behavioral patterns:



Behavioral design patterns focus on common communication patterns between objects.


No comments:

Post a Comment