Giter Site home page Giter Site logo

codepumpkin / designpatterns Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 9.0 38 KB

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

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

Java 100.00%
design-patterns design-pattern java creational-pattern creational-patterns behavioral-patterns structural-patterns concurrency-patterns singleton-pattern singletonpattern

designpatterns's Introduction

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

designpatterns's People

Contributors

codepumpkin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.