File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes OO, Patterns, UML and Refactoring and the fly likes How to study Design Patterns? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "How to study Design Patterns?" Watch "How to study Design Patterns?" New topic

How to study Design Patterns?

Ninad Kuchekar
Ranch Hand

Joined: Jan 05, 2010
Posts: 64

I am studying Design Patterns, and using two references for that:

  • Gang of Four
  • Design Patterns | Object Oriented Design

  • However, I have some doubts:
    - I can be quite sure about Gang of Four, but is the other link reliable?
    - Patterns is like studying differential equations, it all looks good till you know what type of equation it is, and mess up everything in the examination.
    I want to have certain problem statements so that I can work out a design and a pattern myself for it. So basically, I want to "engineer"
    the solution, not "reverse-engineer" it.

    Any suggestions guys?


    Don't walk as if you rule the world, walk as if you don't care who rules it...
    Avishkar Nikale
    Ranch Hand

    Joined: Aug 06, 2010
    Posts: 173
    If your flavor is Java you could also go for Head First Design Patterns.

    It is a nice book to start of with.

    Avishkar Nikale
    Ninad Kuchekar
    Ranch Hand

    Joined: Jan 05, 2010
    Posts: 64
    That is the problem, I have enough material to study design patterns but I need a guinea pig!
    raj malhotra
    Ranch Hand

    Joined: Feb 22, 2007
    Posts: 288
    I want to "engineer"
    the solution, not "reverse-engineer" it.

    Try Design Patterns Explained: 2nd Edition Design Patterns Explained: A New Perspective on Object-Oriented Design (Second Edition)
    by Alan and James

    This is very good book which emphasis on design the solution.

    Another book which i liked very much is Head First Object Oriented analysis and design . Although i have finished just 2 chapters but i am already impressed with it.

    Ryan McGuire
    Ranch Hand

    Joined: Feb 18, 2005
    Posts: 1044
    Ninad Kuchekar wrote:That is the problem, I have enough material to study design patterns but I need a guinea pig!

    So you're asking if we can think of a project that you could do some (free) design work on? Sweet!

    How about a GUI frontend for a taxonomy/ontology database?
    - For the purposes of this project, an ontology is modeled as a directed graph of "concept" and "instance" nodes. A concept can be a parent of 0..n concepts and 0..n instance (possibly a leaf node). An instance has no children (necessarily leaf node). All nodes can have some number of string-valued "attributes". Any two nodes can be linked together with a "relationship". As a starting point, a new ontology will be initialized with a "root concept"
    - The GUI editor should allow the creation, editing and deletion of concepts, instances, attributes, and relationships. (Can't delete the root node.)
    - The GUI should be independent of the data storage.
    - The GUI should include some reporting functionality: Are any attributes unused? What are the values of a given attribute for all the nodes under a given concepts?

    As you're reading the books and/or web sites, consider which of the design patterns described would be applicable as you do the design work for the project. e.g. What design pattern, if any, would you use...
    1. to create new nodes?
    2. to allow undo/redo functionality?
    3. to facilitate the graphical display the graph?

    I have two or three projects of this magnitude in mind as I go through the GoF book. Granted, that approach is opposite what it should be if I was really intending to implement one of the projects. I should start at the problem and try to work out how to solve it, as opposed to going though a catalog of solutions, trying to dream up potential problems.
    Ninad Kuchekar
    Ranch Hand

    Joined: Jan 05, 2010
    Posts: 64
    Thanks Ryan...just the thing I was looking for...

    I am already researching on ontology for further details..
    Will get back to you if there are any obstacles...

    Thanks again!!...

    If there are any more such "problems", please add on...
    I agree. Here's the link:
    subject: How to study Design Patterns?
    It's not a secret anymore!