Home > Programming > Design Pattern

Design Pattern

Software design patterns are abstractions that help structure system designs. A design pattern is neither a static solution, nor is it an algorithm. A pattern is a way to describe and address by name (mostly a simplistic description of its goal), a repeatable solution or approach to a common design problem, that is, a common way to solve a generic problem (how generic or complex, depends on how restricted the target goal is). Patterns can emerge on their own or by design. This is why design patterns are useful as an abstraction over the implementation and a help at design stage. With this concept, an easier way to facilitate communication over a design choice as normalization technique is given so that every person can share the design concept (wikibooks).

The most well-known book on this topic is probably the “Gang of Four” book (23 classic software design patterns). Here are a few examples of common general-purpose design patterns.

  • Singleton (from creational pattern). This pattern ensures that a particular class has only one instance (the singleton instance) and provides a global point of access to it.
  • Iterator (from behavioral pattern). An iterator provides an efficient means of accessing the individual elements of a collection, without exposing the collection’s underlying implementation. The iterator “knows” the implementation details of the collection, so that its users don’t have to.
  • Abstract factory (from creational pattern). An abstract factory provides an interface for creating families of related or dependent classes without specifying their concrete classes.
Advertisements
Categories: Programming
  1. July 21, 2013 at 5:03 pm

    Odds are if your child has scar on face removalWhile your child has never contracted
    the chickenpox virus. Chickenpox is a rash that follows the nerve
    pathway. I say deliver me from Swedish furniture!

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: