codepumpkin / DesignPatterns

Code repository for all the articles on design patterns at codepumpkin.com

Home Page:http://codepumpkin.com/design-patterns/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Learn Design Patterns in Java with CodePumpkin

This repository is for maintaing java code for all the design pattern articles written at codepumpkin.com

Design Patterns is general repeatable solution to a commonly occurring problem in software design. Design Patterns are divided into three main categories

1. Creational Design Patterns

Creational design patterns deal with the creation of object in the best possible way in the specific situation. Some of the creational design patterns are as follow:

  1. Singleton Design Pattern
  2. Factory Design Pattern
  3. Abstract Factory Design Pattern
  4. Builder Design Pattern
  5. Prototype Design Pattern
  6. Object Pool Design Pattern

2. Structural Design Patterns

Structural design patterns provide different ways to create class structure. Some of the structural design patterns are as follow:

  1. Bridge Design Pattern
  2. Facade Design Pattern
  3. Proxy Design Pattern
  4. Composite Design Pattern
  5. Decorator Design Pattern
  6. Adapter Design Pattern

3. Behavioral Design Pattern

Behavioral design patterns provide solution for the bettern interaction between objects and how to provide loose couplings and flexibility to extend. Some of the behavioral design patterns are as follow:

  1. Mediator Design Pattern
  2. Iterator Design Pattern
  3. Strategy Design Pattern
  4. Command Design Pattern
  5. Interpreter Design Pattern
  6. Observer Design Pattern

Apart from above mentoined three main types, There are some design patterns that deals with multi-threaded programming paradigm. Those are known as Concurrency Design Patterns. Some of the concurrency design patterns are as follow:

  1. Producer Consumer Design Pattern
  2. Leaders/followers pattern
  3. Read write lock pattern
  4. Balking pattern
  5. Scheduler pattern
  6. Thread pool pattern
  7. Barrier pattern
  8. Double-checked locking
  9. Guarded suspension pattern
  10. Reactor pattern

What is CodePumpkin?

CodePumpkin is a blog that will help you to learn and refresh your knowledge on Core Java, Data Structures, algorithms and Design Patterns.

CodePumpkin is more like a Java Community where people can share their articles or interview experiences and become a CodePumpkin Contributor (Pumpkin, is what we call us).

Steps to contribute to the community and become a proud Pumpkin

In align with our goal of making learning happy, we started this contributor-ship on our blog. If you would also like to contribute your article or share interview experiences, you can create contributor account with CodePumpkin by clicking here. Once you register with us, you can start immediately to contribute to the posts.

The process will be as below:

  1. You can check out our Publish Guideline section to learn how you can add articles.

  2. Choose a topic on which you want to contribute

  3. The Articles contributed will be reviewed by us and if passes our criteria, we will post it on our blog with your name as author.

  4. Cool..!! Your article is on our blog with your name on it. bingo!!!

Have questions? Have feedback/suggestions? Get in touch with us via Facebook or Twitter or email to us.

Keep Sharing, Keep Learning..!! :)

Regards, Team Code Pumpkin

Our Mission

Learn and Share! Support Eco-Friendly Environment by Digital Learning.

Follow us on

facebook twitter googlePlus youTube instagram stumbleUpon