Software:Design Patterns

According to Wikipedia, "a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design". Generally, the software design patterns are studied by categorizing them into Creational, Structural and Behavioral patterns. There are many design patterns under these categories and we can find many of them listed in Wikipedia (ref1 and ref2).
While most of them are not very popular in day to day software engineering, some of them are quite useful and popular. In this post, I would like to discuss the popular ones and illustrate them by writing a small piece of code.
  1. Behavioral patterns - related to the behavior of communication between the participating objects. These patterns help in better flexibility during the inter objects communication.
  2. Creational patterns- used to ease the object creation mechanisms and helps to create objects in the given context. 
  3. Structural patterns-used to ease the software design process by identifying a way to realize the relationship between entities.
    • Adapter
    • Bridge
    • Composite
    • Decorator
    • Facade
    • Flyweight
    • Proxy

No comments:

Post a Comment