SamuelToh / learnDesignPatterns

Challenging myself into using as much gang of 4 design patterns as I can.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LearnDesignPatterns

Earlier this year, I was challenged to complete a programming assignment by somebody whom I won't be disclosing him/her details here.

Well, I was able to accompslish the programming task witin a tight 3 weekday timeframe (Note: I'm working full time :[ ) without too much sweat but I wasn't very happy with the overall architecture design of my solution, as it was far from been acceptable.

To achieve a working solution is usually not a difficult task for programmers, in general. However, to come out with an architecture design that is extensible and easily understood by others can be a little tricky.

Just last month, I was recommended by a good friend of mine to check out a design pattern book by called the Head first design patterns book by "Elisabeth Freeman and Eric Freeman". After finishing the book, I was pretty keen on trying out the gang of 4 design patterns, and hence the motivation in revisiting this interesting problem.

A few pointers that I have kept in mind when doing this project.

  • Design the classes upfront first
  • Define the java interfaces before coding. That is, to code according to interfaces
  • Use design patterns where appropriate
  • Also, don't implement patterns only because you have to.

** Updated description ** Unfortunately I was not allowed to disclose the problem specification so I won't be posting any of it.

** Looking back - I also realized that the solution I have posted approximately 2 years ago is not idea. Why? Because this design is a classic example of over design and anti-poattern :(

About

Challenging myself into using as much gang of 4 design patterns as I can.


Languages

Language:Java 100.0%