• 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

What is Design pattern ?

February 21, 2011 By j2eereference 5 Comments

What makes an Expert? I believe its Experience. It’s all those times you spend solving problems help you later when the same problem reoccur again. You tend to look into the code you wrote in the last project or in a project few years back. Problems reoccur in a specific context, and they can have various solutions. The best solution can be called an Expert Solution. Design Patterns are those expert solutions to common architectural problems that reoccur in a particular context.

Designing reusable software is very hard. Normally we end up writing voluminous but repetitive code. The task becomes more and more complicated as the project size grows. Design pattern offers to store solutions for typical problems occurring over and over and use the same solution without writing code twice.

Design Patterns helps in solving the day-to-day problems that Object Oriented designers and developers face

  • Finding appropriate Objects
  • Determining the object granularity
  • Specifying the object interfaces
  • Specifying the object implementation
  • Finding the ideal object collaboration
  • Achieving reusability, maintainability, extendibility, scalability and performance

Design Patterns provide out-of-the-box solutions that solve all or part of the above challenges. We have been using Design Patterns in some form or other. It’s probably time to recognize them (Pattern mining), name them and communicate using them (build into UML). It leads towards standardization of common solutions in form of patterns that will result in simplicity in understanding and managing complex systems, of course at the cost of understanding the patterns.

Design patterns capture solutions that have evolved over time as developers strive for greater flexibility in their software. Whereas class libraries are reusable source code, and components are reusable packaged objects, patterns are generic, reusable design descriptions that are customized to solve a specific problem. The study of design patterns provides a common vocabulary for communication and documentation, and it provides a framework for evolution and improvement of existing patterns.

Design Pattern and Framework

Because patterns and frameworks have some similarities, people often wonder how they are different.

  1. Patterns support reuse of software architecture and design
  2. Frameworks support reuse of detailed design and code

The key differences between design pattern and framework

A framework is dedicated to a specific application or class of use. So a framework can be implemented in code. A design pattern is more abstract and they are differently implemented under different contexts.

Design pattern is a subset of Framework. A framework may use various design patterns for implementation but the reverse is not true.

Design pattern gives a reusable solution to a recurring problem where as frameworks build the reusable architecture for an application
Recommended Books

Related Posts

  • Observer pattern
  • Façade pattern
  • Design pattern – Service Locator
  • Singleton

Filed Under: Design Patterns

Reader Interactions

Comments

  1. momochii says

    May 22, 2011 at 7:15 am

    Thanks for an idea, you sparked at thought from a angle I hadn’t given thoguht to yet. Now lets see if I can do something with it.

    Reply
    • Nevada Curra says

      May 28, 2011 at 5:49 pm

      What a great resource!

      Reply
  2. Ashely Marr says

    May 25, 2011 at 3:33 pm

    this post is very usefull thx!

    Reply
  3. Fallon Gean says

    May 27, 2011 at 5:58 pm

    Superb blog post, I have book marked this internet site so ideally I’ll see much more on this subject in the foreseeable future!

    Reply
  4. Martin Brookshear says

    May 27, 2011 at 7:40 pm

    Thanks for some quality points there. I am kind of new to online , so I printed this off to put in my file, any better way to go about keeping track of it then printing?

    Reply

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.