• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to footer
  • Core Java
  • Design Patterns
  • JSP
  • Servlets
  • Building Tools
  • jQuery
  • Spring
  • Hibernate
  • Mongo DB
  • More
    • HTML
    • SCJP
    • AJAX
    • UML
    • Struts
    • J2EE
    • Testing
    • Angular JS

J2EE Reference

  • Home
  • About Us
    • Java Learning Centers
  • Contact Us

History and Need for Design Patterns

July 6, 2017 By j2eereference Leave a Comment

What are Design Patterns?

The design patterns are nothing but proven solutions to common problems that the software developers face while developing the software. These proven solutions were attained through trial and error methods by several software developers after spending considerable time.

Design Patterns signify the best practices used by skilled software developers in object oriented methodology. It has to be noted that the design pattern is not a completed design, which can be converted directly into source code. Design pattern is a template indicating about how a problem can be solved.

History of Design Patterns

Design Patterns was instigated as an architectural model by Christopher Alexander in the period 1977 to 1979. According to this architectural model, the architectural design ideas were captured as reusable and archetypal descriptions.

In the year 1987, Ward Cunningham and Kent Beck started experimenting about how to apply patterns to software programming and they submitted their results at the OOPSLA conference that year. In the next few years, Kent Beck, Ward Cunningham and others followed up on this work.

Design patterns gained popularity after release of the book named “Design Patterns: Elements of Reusable Object-Oriented Software”. This book was issued in the year 1994 by the famous “Gang of Four” authors namely John Vlissides, Erich Gamma, Ralph Johnson, and Richard Helm. The “Gang of Four” authors are often condensed as “GOF”. This book initiated the concept of Design Patterns in Software Development.

Need for Design Patterns

  • Rather than having to re-invent the wheel, we can re-use an existing solution recognized across organizations as something that simply works. Since it is well documented, it is comparatively easier to visualize the problem and solution in our mind.
  • In many software projects, creation and implementation of entire project takes just 1/4th of total time and the maintenance of the project becomes a lengthy process thereby consuming more than 3/4th of total time. The reason behind this lengthy maintenance phase is that the project design is not efficient enough. Design Patterns eliminate this issue by decreasing the additional effort and maintenance cost by offering solutions that are very much reliable, efficient, and reusable.
  • Thus the key factors behind the success of design patterns are
    • (1) reusability,
    • (2) reliability
    • (3) efficiency due to high performance solution, and
    • (4) less time consumption as the solution is well tested and ready handed.

Related Posts

  • Iterator Design Pattern Implementation using Java
  • Strategy Design Pattern Implementation using Java
  • Decorator Design Pattern
  • Adapter Design Pattern Implementation using Java
  • GOF Design Patterns
  • Command Design Pattern
  • Template Design Pattern
  • Proxy design pattern
  • Singleton in Clustered Environment
  • Observer pattern

Filed Under: Design Patterns

Reader Interactions

Leave a Reply Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

FOLLOW US ONLINE

  • View J2eereference-166104970118637’s profile on Facebook
  • View j2eereference’s profile on Twitter
  • View j2eereference’s profile on LinkedIn

Subscribe by email

Recent posts

  • Java Buzzwords
  • Anonymous Inner Class in Java
  • Network Programming – java.net Package
  • Java Regular Expressions
  • Method Local Inner Class in Java
  • URL Processing in Java
  • Iterator Design Pattern Implementation using Java
  • Strategy Design Pattern Implementation using Java
  • Decorator Design Pattern
  • Adapter Design Pattern Implementation using Java
  • JSF Composite Components
  • JSF UI Components
  • What is JavaServer Faces (JSF)?
  • GOF Design Patterns
  • History and Need for Design Patterns

Footer

Core Java
Design Patterns
JSP
Servlets
HTML
Building Tools
AJAX
SCJP
jQuery
Testing
Spring
UML
Struts
Java Centers
Java Training
Home
About Us
Contact Us
Copyright © j2eereference.com. All right reserved.