Wednesday, September 24, 2014

Design Patterns in OOD/OOP

Definition

It is a collection of reusable solutions identified by software professionals through lesson learned and best practices to a commonly reoccurring problem in software design.

In Object Oriented Design ,Software Design Patterns are derived from Object Oriented Concepts and Principles.

Invention

Commonly called that Gang of Four are founders of design patterns

Intention

Mainly focuses on designing and developing easy to maintenance, flexible, low coupling and high cohesion applications.

Types
  1. Object Oriented Design Patterns - How the Classes and Objects are organized to develop an easy maintenance system.
  2.  Architectural Design Patterns  - How the Components (Collection of Classes) are arranged in different tiers across an enterprise application to develop an easy maintenance and scalable system.

Object Oriented Design Patterns

    Categorized into 4 sub categories.
  1. Creational  Patterns - Focuses on new object creation.
  2. Structural Patterns - Focuses on simple way to realize relationships between entities.
  3. Behavioral Patterns - Focuses on common communication relationships between objects.
  4. Concurrency Patterns - Focuses on the multi-threaded programming paradigm.

Architectural Design Patterns

  Categorized into 3 sub categories.
  1. Presentation Tier Patterns - Focuses on arranging components in front-end.
  2. Business Tier Patterns - Focuses on arranging components and interaction with Presentation Tier.
  3. Integration Tier Patterns  - Focuses on arranging components in back-end and interaction with Business Tier.

No comments: