Hi guys,
as I have never used any design pattern I thought I might try to learn something by developing a small application.
What I'm thinking is something like a radio controlled car simulation - I mean a really really simplified version of it of course - something like creating a car object, a remote controller object and verious methods to move forward, back, left and right (the methods can just output something to the console). Nothing too complicated.
So, first of all, do you think that it is a good idea? If not what should I do to improve it?
Would such an application allow me to use any design pattern, if so which one do you recommend (as mentioned I've never used any so I will have to look into that before develop the application).
If you think it's good, I'd start with some pseudocode, of course.
In general, any suggestion at all?

Recommended Answers

All 2 Replies

This is a bit of an odd question. Normally patterns are used to solve specific design problems. But anyway. Most patterns are quite low level and you would use a few different patterns in any one program; even quite a small one. But by small I still mean still a lot more than 2 classes.
I would suggest you start by havinga closer look at the most common patterns. Google for the ten most popular design patterns. You will see things like Singleton, Observer, Factory.
Spend half an hour on each finding out what it does. Then think about what kind of program (that would interest you) could use them.

This list (taken from Learning Tree's Java Best Practices and Design Patterns) is a good place to start...

Observer
Iterator
Template method
Strategy
State
Singleton
Data Accessor Object
Data Transfer Object
Composite
ServiceLocator
Proxy
Factory

HI thanks, I've spent a bit of time doing some reading, watching some videos on pluralsight and looking at a few tutorial, just to get an idea of what the whole thing is about. It's definitely interesting, but I suppose it's quite hard to choose which pattern to use, when to use it and what to use it for unless you've done this for years. In any case, while I totally appreciated what you said about using a design pattern with a 'small' program, the examples I've seen - presumably for demonstration purposes - used only a bunch of classes, and I suppose that was the idea I had in mind, like creating a small application just to understand the principles of a specific design pattern. I do understand now though, that it shouldn't be the application to determine the pattern to follow, but rather what it is that you want to achieve in the application that should dictate which design pattern to use. So, let's forget the remote controlled car application I proposed earlier on, what would you think would be a good, small (because the last thing I want is to work on something large for 6 months and then never finish it) application I could create? I tried to have a look online for "java projects for design patterns" but I didn't come up with anything useful. Perhaps I could - again -have a look at some kind of employee application, like creating several employees with all the details that come with them, or something along those lines, but I;m not sure what I would want an employee to do...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.