Design patterns

What is it?

In mazdak - IT, we use design patterns as a general repeatable solution to a commonly occurring problem in software design. A design pattern isn't a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations.

Design patterns can speed up the development process by providing tested, proven development paradigms. Effective software design requires considering issues that may not become visible until later in the implementation. Reusing design patterns helps to prevent subtle issues that can cause major problems and improves code readability for coders and architects familiar with the patterns.

Categories

Software design pattern

Creational patterns

- Creational design patterns deal with object creation mechanisms.

Structural patterns

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

Behavioral patterns

- Behavioral design patterns focus on common communication patterns between objects.

Mobile apps

iPhone & Android

Any widget that supports multiple look and multiple feel has to deal with multiple Model, View and Controller objects. To maintain flexibility it is important to make these objects not depend on how other objects are created.

Creational design patterns solve these issues. These patterns reduce design complexity and increases flexibility.