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...
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.
Joined: Jan 05, 2010
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...
If there are any more such "problems", please add on...