Newsletter sign-up
View all newsletters

Sign up for our technology specific newsletters.

Enterprise Java
Email Address:
JavaWorld Daily Brew

How to learn Designing in Java


Hi

I have been a java programmer for few years now. I have learnt java progamming concepts and apis and few design patterns. Now i would like to learn how to be very good at designing java applications on my own. Even thoough i know few design patterns, i am unable to start designing applications. For example, what are the things that i should learn to decide when should the class should be abstract or by looking at a code i should be able to tell that this class should actually be an interface and should have sub classes etc.

Could you please guide me to learn things like these.

Your rating: None

Think while you code.

In your Java development work, you should have had ample time to consider the pros and cons of the language features you have chosen to use. If you haven't been using abstract classes and interfaces, for example, or have not been considering them critically in your implementation work, then you should start doing that.

Contemplating how the Java Standard Edition APIs coerce you into using them thru abstract classes and interfaces should convey at least a modicum of insight. So is evaluating the pain points in your development work, and asking yourself (a) if there's a way to alleviate them, and, if so, (b) why haven't you been doing it.

Finding an Object Oriented Design course at a local college might also be useful in integrating theory with your development experience.

But, definitely, looking at your work with a more critical eye is key. Find and read blogs that discuss OOD or OOP. Read and contribute to the discussions in comp.lang.java.programmer on USENET.

I think these few things may

I think these few things may help

1. Select any open source project of your choice - Spring or any Apache project and try and understand how they do their coding. Follow their source code and if possible try to participate. What kind of patterns they use and try to understand why they do that. These projects can be a reference, a baseline for you to get started.

2. Read the book "Domain Driven Design" by Eric Evans, atleast the first few chapters that talks about entities, value objects etc.

Thanks for the tips I used

Thanks for the tips I used to code Java in university for 1-2 years than switched to php and used it for 5 years now I find it very hard to get back to Java.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <p> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <br /> <br> <strike>
  • Lines and paragraphs break automatically.
  • Use <!--pagebreak--> to create page breaks.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

More information about formatting options

CAPTCHA
Just checking to see if you're an actual person rather than a spammer. Sorry for the inconvenience.